Can you give me some example usage? PHP: $player = $event->getEntity;$snowball = //???if($player instanceof Player){} ?
oh, got it https://forums.pocketmine.net/threads/getting-projectile-shooter.16888/page-2 EDIT: But now, how to check if $projectile was interacted to other player? PHP: $projectile = $event->getEntity();
I assume you want to know if snowball hit a player, right? You have to capture EntityDamageEvent in that case. PHP: public function onHit(EntityDamageEvent $e){ if($e instanceof EntityDamageByEntityEvent === false) return; if($e->getCause() === EntityDamageEvent::CAUSE_PROJECTILE){ $projectile = $e->getDamager(); if($projectile instanceof Snowball){ # Entity was hit by a snowball } }}
PHP: public function onHit(EntityDamageEvent $ev){$player = $ev->getEntity();if($player instanceof Player){if($ev->getCause() == EntityDamageEvent::CAUSE_PROJECTILE){$player->kill():}} i use it
PHP: public function onHit(EntityDamageEvent $event){$player = $event->getEntity();$snowball = $event->getDamager();if($player instanceof Player){ if($event->getCause() == EntityDamageEvent::CAUSE_PROJECTILE){ if($snowball instanceof Snowball){ $player->kill(); } }}
This will cause error if entity was damaged by environment. You must add this line to avoid that PHP: if($e instanceof EntityDamageByEntityEvent === false) return; Btw, nice signature.