public function onEntityRegainHealth(EntityRegainHealthEvent $event) { switch ($event->getRegainReason()) { case EntityRegainHealthEvent::CAUSE_REGEN: case EntityRegainHealthEvent::CAUSE_EATING: case EntityRegainHealthEvent::CAUSE_CUSTOM: $event->setCancelled(true); break; case EntityRegainHealthEvent::CAUSE_MAGIC: // Do nothing break; default: $event->setCancelled(true); break; } }
public function onHeal(EntityRegainHealthEvent $event) { $entity = $event->getEntity(); if ($entity instanceof Player) { $session = $this->main->getSession($entity); if (!$session instanceof Session) { $event->setCancelled(); return; } if ($session->onHeal($event) === false) { $event->setCancelled(); } } }
/** * @param EntityRegainHealthEvent $event * @priority HIGHEST * @ignoreCancelled true */ public function onEntityRegainHealth(EntityRegainHealthEvent $event) { if (($player = $event->getEntity()) instanceof Player) { if ($this->plugin->getStorage()->getShield($player->getLevel())->isAllowed(Shield::HEALING)) { $event->setCancelled(true); } } }
public function onHealthRegeneration(EntityRegainHealthEvent $event) { if ($event->getEntity() instanceof Player && $event->getRegainReason() !== EntityRegainHealthEvent::CAUSE_MAGIC) { if ($this->disableHealthRegeneration) { $event->setCancelled(); } } return; }