From 74c0863905ee144083df97a06fcb3600cb79cb1a Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Mon, 28 May 2018 17:14:18 +0100 Subject: [PATCH] Living: fixed preventing effect expiry using events, closes #2208 --- src/pocketmine/entity/Living.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/pocketmine/entity/Living.php b/src/pocketmine/entity/Living.php index 85e7830ad..cc7b91c9a 100644 --- a/src/pocketmine/entity/Living.php +++ b/src/pocketmine/entity/Living.php @@ -200,8 +200,12 @@ abstract class Living extends Entity implements Damageable{ public function removeEffect(int $effectId) : void{ if(isset($this->effects[$effectId])){ $effect = $this->effects[$effectId]; + $hasExpired = $effect->hasExpired(); $this->server->getPluginManager()->callEvent($ev = new EntityEffectRemoveEvent($this, $effect)); if($ev->isCancelled()){ + if($hasExpired and !$ev->getEffect()->hasExpired()){ //altered duration of an expired effect to make it not get removed + $this->sendEffectAdd($ev->getEffect(), true); + } return; }