From 36f3accf4bdd9a562adf8000d554c939caea7489 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sat, 23 Dec 2017 10:55:25 +0000 Subject: [PATCH] Effect: Don't allow cancellation of expired effect removal, close #1770 --- src/pocketmine/event/entity/EntityEffectRemoveEvent.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/pocketmine/event/entity/EntityEffectRemoveEvent.php b/src/pocketmine/event/entity/EntityEffectRemoveEvent.php index cb3a8aaf9..32131fe33 100644 --- a/src/pocketmine/event/entity/EntityEffectRemoveEvent.php +++ b/src/pocketmine/event/entity/EntityEffectRemoveEvent.php @@ -29,4 +29,11 @@ namespace pocketmine\event\entity; class EntityEffectRemoveEvent extends EntityEffectEvent{ public static $handlerList = null; + public function setCancelled(bool $value = true){ + if($this->getEffect()->getDuration() <= 0){ + throw new \InvalidStateException("Removal of expired effects cannot be cancelled"); + } + parent::setCancelled($value); + } + }