public function onDamageByPlayer(EntityDamageEvent $ev) { $cause = $ev->getCause(); switch ($cause) { case EntityDamageEvent::CAUSE_ENTITY_ATTACK: $atkr = $ev->getDamager(); $player = $ev->getEntity(); $pl = $ev->getPlayer(); if ($atkr instanceof Player and $player instanceof Player) { if ($this->inParty($player, $atkr->getName())) { $ev->setCancelled(); $atkr->sendMessage(TextFormat::RED . "{$pl} is in your party!"); } } } break; }
public function onEntityDamage(EntityDamageEvent $event) { if ($event instanceof EntityDamageByEntityEvent) { if ($event->getEntity() instanceof Player) { if ($this->isFriend($event->getDamager()->getName(), $event->getEntity()->getName()) && $this->gameStarted == true) { $event->setCancelled(true); $event->getDamager()->sendMessage(str_replace("{player}", $event->getPlayer()->getName(), $this->yml["hit_same_team_message"])); } if ($this->isFriend($event->getDamager()->getName(), $event->getEntity()->getName())) { $event->setCancelled(true); } } } }
public function cancelFallDamage(EntityDamageEvent $e) { if ($this->isInArena($e->getPlayer())) { $causeID = $e->getCause(); if ($causeID === 4) { $e->setCancelled(); } } }