Level: Fixed ChunkListeners not receiving some events when no loaders are using a chunk

This commit is contained in:
Dylan K. Taylor 2019-04-17 16:13:40 +01:00
parent 3468f006a2
commit 0973e39697

View File

@ -2329,10 +2329,9 @@ class Level implements ChunkManager, Metadatable{
if(!$this->isChunkInUse($chunkX, $chunkZ)){ if(!$this->isChunkInUse($chunkX, $chunkZ)){
$this->unloadChunkRequest($chunkX, $chunkZ); $this->unloadChunkRequest($chunkX, $chunkZ);
}else{ }
foreach($this->getChunkListeners($chunkX, $chunkZ) as $listener){ foreach($this->getChunkListeners($chunkX, $chunkZ) as $listener){
$listener->onChunkChanged($chunk); $listener->onChunkChanged($chunk);
}
} }
} }
@ -2644,14 +2643,13 @@ class Level implements ChunkManager, Metadatable{
$this->getServer()->getAsyncPool()->submitTask(new LightPopulationTask($this, $chunk)); $this->getServer()->getAsyncPool()->submitTask(new LightPopulationTask($this, $chunk));
} }
if($this->isChunkInUse($x, $z)){ if(!$this->isChunkInUse($x, $z)){
foreach($this->getChunkListeners($x, $z) as $listener){
$listener->onChunkLoaded($chunk);
}
}else{
$this->server->getLogger()->debug("Newly loaded chunk $x $z has no loaders registered, will be unloaded at next available opportunity"); $this->server->getLogger()->debug("Newly loaded chunk $x $z has no loaders registered, will be unloaded at next available opportunity");
$this->unloadChunkRequest($x, $z); $this->unloadChunkRequest($x, $z);
} }
foreach($this->getChunkListeners($x, $z) as $listener){
$listener->onChunkLoaded($chunk);
}
$this->timings->syncChunkLoadTimer->stopTiming(); $this->timings->syncChunkLoadTimer->stopTiming();