diff --git a/src/pmf/PMFLevel.php b/src/pmf/PMFLevel.php index 10f20c834..7646ccb81 100644 --- a/src/pmf/PMFLevel.php +++ b/src/pmf/PMFLevel.php @@ -212,33 +212,37 @@ class PMFLevel extends PMF{ @mkdir(dirname($path), 0755); } $this->initCleanChunk($X, $Z); - $ret = $this->level->generateChunk($X, $Z); - $this->saveChunk($X, $Z); - $this->populateChunk($X - 1, $Z); - $this->populateChunk($X + 1, $Z); - $this->populateChunk($X, $Z - 1); - $this->populateChunk($X, $Z + 1); - $this->populateChunk($X + 1, $Z + 1); - $this->populateChunk($X + 1, $Z - 1); - $this->populateChunk($X - 1, $Z - 1); - $this->populateChunk($X - 1, $Z + 1); - return $ret; + if($this->level instanceof Level){ + $ret = $this->level->generateChunk($X, $Z); + $this->saveChunk($X, $Z); + $this->populateChunk($X - 1, $Z); + $this->populateChunk($X + 1, $Z); + $this->populateChunk($X, $Z - 1); + $this->populateChunk($X, $Z + 1); + $this->populateChunk($X + 1, $Z + 1); + $this->populateChunk($X + 1, $Z - 1); + $this->populateChunk($X - 1, $Z - 1); + $this->populateChunk($X - 1, $Z + 1); + return $ret; + } } public function populateChunk($X, $Z){ - if($this->isGenerating === 0 and - $this->isChunkLoaded($X, $Z) and - !$this->isPopulated($X, $Z) and - $this->isGenerated($X - 1, $Z) and - $this->isGenerated($X, $Z - 1) and - $this->isGenerated($X + 1, $Z) and - $this->isGenerated($X, $Z + 1) and - $this->isGenerated($X + 1, $Z + 1) and - $this->isGenerated($X - 1, $Z - 1) and - $this->isGenerated($X + 1, $Z - 1) and - $this->isGenerated($X - 1, $Z + 1)){ - $this->level->populateChunk($X, $Z); - $this->saveChunk($X, $Z); + if($this->level instanceof Level){ + if($this->isGenerating === 0 and + $this->isChunkLoaded($X, $Z) and + !$this->isPopulated($X, $Z) and + $this->isGenerated($X - 1, $Z) and + $this->isGenerated($X, $Z - 1) and + $this->isGenerated($X + 1, $Z) and + $this->isGenerated($X, $Z + 1) and + $this->isGenerated($X + 1, $Z + 1) and + $this->isGenerated($X - 1, $Z - 1) and + $this->isGenerated($X + 1, $Z - 1) and + $this->isGenerated($X - 1, $Z + 1)){ + $this->level->populateChunk($X, $Z); + $this->saveChunk($X, $Z); + } } } diff --git a/src/world/LevelImport.php b/src/world/LevelImport.php index 4997bc0ed..35d76db92 100644 --- a/src/world/LevelImport.php +++ b/src/world/LevelImport.php @@ -98,6 +98,7 @@ class LevelImport{ foreach($chunk as $Y => $data){ $pmf->setMiniChunk($X, $Z, $Y, $data); } + $pmf->setPopulated($X, $Z); $pmf->saveChunk($X, $Z); } console("[NOTICE] Importing level ".ceil(($Z + 1)/0.16)."%");