diff --git a/src/pocketmine/entity/Entity.php b/src/pocketmine/entity/Entity.php index 1b85f6340..d28dc1943 100644 --- a/src/pocketmine/entity/Entity.php +++ b/src/pocketmine/entity/Entity.php @@ -1333,11 +1333,6 @@ abstract class Entity extends Location implements Metadatable, EntityIds{ $this->lastUpdate = $currentTick; - if($this->needsDespawn){ - $this->close(); - return false; - } - if(!$this->isAlive()){ if($this->onDeathUpdate($tickDiff)){ $this->flagForDespawn(); diff --git a/src/pocketmine/level/Level.php b/src/pocketmine/level/Level.php index 66802a15d..86c627264 100644 --- a/src/pocketmine/level/Level.php +++ b/src/pocketmine/level/Level.php @@ -745,6 +745,9 @@ class Level implements ChunkManager, Metadatable{ if($entity->isClosed() or !$entity->onUpdate($currentTick)){ unset($this->updateEntities[$id]); } + if($entity->isFlaggedForDespawn()){ + $entity->close(); + } } Timings::$tickEntityTimer->stopTiming(); $this->timings->entityTick->stopTiming();