PHP: public function onLand(ProjectileHitBlockEvent $ev) { $b = $ev->getBlockHit(); $ent = $ev->getEntity(); if (!$ent instanceof Projectile) return; $shooter = $ent->getOwningEntity(); if ($shooter instanceof Player && $ent instanceof EnderPearl){ if ($b->getX() >= 75){ $shooter->sendMessage('no'); } }} } This works just i cant cancel it any other way?
Attempt 2 Still teleports the player PHP: public function onLand(ProjectileHitEvent $ev) { $owner = $ev->getEntity()->getOwningEntity(); if ($owner instanceof Player){ $vector = $ev->getRayTraceResult()->getHitVector(); if ($vector->x >= 75){ $owner->sendMessage('Nope'); return; } $owner->teleport($vector); } }
The event is not cancellable Im still not clear on what you are trying to achieve, are you trying to cancel the teleportation?