From 0973e39697579e6ccbb22cd40a49cbc3498f63f8 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Wed, 17 Apr 2019 16:13:40 +0100 Subject: [PATCH] Level: Fixed ChunkListeners not receiving some events when no loaders are using a chunk --- src/pocketmine/level/Level.php | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/pocketmine/level/Level.php b/src/pocketmine/level/Level.php index cf251a43b..be360ae48 100644 --- a/src/pocketmine/level/Level.php +++ b/src/pocketmine/level/Level.php @@ -2329,10 +2329,9 @@ class Level implements ChunkManager, Metadatable{ if(!$this->isChunkInUse($chunkX, $chunkZ)){ $this->unloadChunkRequest($chunkX, $chunkZ); - }else{ - foreach($this->getChunkListeners($chunkX, $chunkZ) as $listener){ - $listener->onChunkChanged($chunk); - } + } + foreach($this->getChunkListeners($chunkX, $chunkZ) as $listener){ + $listener->onChunkChanged($chunk); } } @@ -2644,14 +2643,13 @@ class Level implements ChunkManager, Metadatable{ $this->getServer()->getAsyncPool()->submitTask(new LightPopulationTask($this, $chunk)); } - if($this->isChunkInUse($x, $z)){ - foreach($this->getChunkListeners($x, $z) as $listener){ - $listener->onChunkLoaded($chunk); - } - }else{ + if(!$this->isChunkInUse($x, $z)){ $this->server->getLogger()->debug("Newly loaded chunk $x $z has no loaders registered, will be unloaded at next available opportunity"); $this->unloadChunkRequest($x, $z); } + foreach($this->getChunkListeners($x, $z) as $listener){ + $listener->onChunkLoaded($chunk); + } $this->timings->syncChunkLoadTimer->stopTiming();