From 398b63675973da1e2e6dcc0c59399c6a004697d3 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Mon, 10 Feb 2020 18:21:08 +0000 Subject: [PATCH] PopulationTask: fixed chunks being generated empty in flat worlds the flat generator just clones a pregenerated chunk instead of modifying the provided chunks, which means that the references that population task has would be the outdated ones. --- src/pocketmine/level/generator/PopulationTask.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/pocketmine/level/generator/PopulationTask.php b/src/pocketmine/level/generator/PopulationTask.php index 95019457a..28c7e49b9 100644 --- a/src/pocketmine/level/generator/PopulationTask.php +++ b/src/pocketmine/level/generator/PopulationTask.php @@ -98,18 +98,21 @@ class PopulationTask extends AsyncTask{ $manager->setChunk($chunk->getX(), $chunk->getZ(), $chunk); if(!$chunk->isGenerated()){ $generator->generateChunk($chunk->getX(), $chunk->getZ()); + $chunk = $manager->getChunk($chunk->getX(), $chunk->getZ()); $chunk->setGenerated(); } - foreach($chunks as $c){ + foreach($chunks as $i => $c){ $manager->setChunk($c->getX(), $c->getZ(), $c); if(!$c->isGenerated()){ $generator->generateChunk($c->getX(), $c->getZ()); - $c->setGenerated(); + $chunks[$i] = $manager->getChunk($c->getX(), $c->getZ()); + $chunks[$i]->setGenerated(); } } $generator->populateChunk($chunk->getX(), $chunk->getZ()); + $chunk = $manager->getChunk($chunk->getX(), $chunk->getZ()); $chunk->recalculateHeightMap(); $chunk->populateSkyLight();