PopulationTask: fixed PHPStan errors

This commit is contained in:
Dylan K. Taylor 2021-08-30 00:26:54 +01:00
parent e0d6357eb7
commit 2fe03757d5
No known key found for this signature in database
GPG Key ID: 8927471A91CAFD3D

View File

@ -106,21 +106,30 @@ class PopulationTask extends AsyncTask{
if($chunk === null){
$generator->generateChunk($manager, $this->chunkX, $this->chunkZ);
$chunk = $manager->getChunk($this->chunkX, $this->chunkZ);
if($chunk === null){
throw new AssumptionFailedError("We just set this chunk, so it must exist");
}
$chunk->setTerrainDirtyFlag(Chunk::DIRTY_FLAG_TERRAIN, true);
$chunk->setTerrainDirtyFlag(Chunk::DIRTY_FLAG_BIOMES, true);
}
$resultChunks = []; //this is just to keep phpstan's type inference happy
foreach($chunks as $i => $c){
$cX = (-1 + $i % 3) + $this->chunkX;
$cZ = (-1 + intdiv($i, 3)) + $this->chunkZ;
$manager->setChunk($cX, $cZ, $c ?? new Chunk());
if($c === null){
$generator->generateChunk($manager, $cX, $cZ);
$chunks[$i] = $manager->getChunk($cX, $cZ);
$chunks[$i]->setTerrainDirtyFlag(Chunk::DIRTY_FLAG_TERRAIN, true);
$chunks[$i]->setTerrainDirtyFlag(Chunk::DIRTY_FLAG_BIOMES, true);
$c = $manager->getChunk($cX, $cZ);
if($c === null){
throw new AssumptionFailedError("We just set this chunk, so it must exist");
}
$c->setTerrainDirtyFlag(Chunk::DIRTY_FLAG_TERRAIN, true);
$c->setTerrainDirtyFlag(Chunk::DIRTY_FLAG_BIOMES, true);
}
$resultChunks[$i] = $c;
}
$chunks = $resultChunks;
$generator->populateChunk($manager, $this->chunkX, $this->chunkZ);
$chunk = $manager->getChunk($this->chunkX, $this->chunkZ);