Merge branch 'release/3.4'

This commit is contained in:
Dylan K. Taylor 2018-10-19 15:56:07 +01:00
commit 7642298b4f

View File

@ -961,13 +961,20 @@ class Level implements ChunkManager, Metadatable{
foreach($this->chunkTickList as $index => $loaders){ foreach($this->chunkTickList as $index => $loaders){
Level::getXZ($index, $chunkX, $chunkZ); Level::getXZ($index, $chunkX, $chunkZ);
if(($chunk = $this->chunks[$index] ?? null) === null){ for($cx = -1; $cx <= 1; ++$cx){
for($cz = -1; $cz <= 1; ++$cz){
if(!isset($this->chunks[Level::chunkHash($chunkX + $cx, $chunkZ + $cz)])){
unset($this->chunkTickList[$index]); unset($this->chunkTickList[$index]);
continue; goto skip_to_next; //no "continue 3" thanks!
}elseif($loaders <= 0){ }
}
}
if($loaders <= 0){
unset($this->chunkTickList[$index]); unset($this->chunkTickList[$index]);
} }
$chunk = $this->chunks[$index];
foreach($chunk->getEntities() as $entity){ foreach($chunk->getEntities() as $entity){
$entity->scheduleUpdate(); $entity->scheduleUpdate();
} }
@ -995,6 +1002,8 @@ class Level implements ChunkManager, Metadatable{
} }
} }
} }
skip_to_next: //dummy label to break out of nested loops
} }
if($this->clearChunksOnTick){ if($this->clearChunksOnTick){