mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-13 17:29:44 +00:00
Take-2: Delay "parsePreset" until we have to really generate a block
This commit is contained in:
parent
8ae9cd4eaf
commit
1d1a8a316e
@ -59,6 +59,7 @@ class Flat extends Generator{
|
|||||||
$this->preset = "2;7,2x3,2;1;";
|
$this->preset = "2;7,2x3,2;1;";
|
||||||
//$this->preset = "2;7,59x1,3x3,2;1;spawn(radius=10 block=89),decoration(treecount=80 grasscount=45)";
|
//$this->preset = "2;7,59x1,3x3,2;1;spawn(radius=10 block=89),decoration(treecount=80 grasscount=45)";
|
||||||
$this->options = $options;
|
$this->options = $options;
|
||||||
|
$this->chunk = null;
|
||||||
|
|
||||||
if(isset($this->options["decoration"])){
|
if(isset($this->options["decoration"])){
|
||||||
$ores = new Ore();
|
$ores = new Ore();
|
||||||
@ -80,7 +81,7 @@ class Flat extends Generator{
|
|||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function parsePreset($preset){
|
protected function parsePreset($preset, $chunkX, $chunkZ){
|
||||||
$this->preset = $preset;
|
$this->preset = $preset;
|
||||||
$preset = explode(";", $preset);
|
$preset = explode(";", $preset);
|
||||||
$version = (int) $preset[0];
|
$version = (int) $preset[0];
|
||||||
@ -106,7 +107,7 @@ class Flat extends Generator{
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$this->chunk = clone $this->level->getChunk(0, 0);
|
$this->chunk = $this->level->getChunk($chunkX, $chunkZ);
|
||||||
$this->chunk->setGenerated();
|
$this->chunk->setGenerated();
|
||||||
|
|
||||||
for($Z = 0; $Z < 16; ++$Z){
|
for($Z = 0; $Z < 16; ++$Z){
|
||||||
@ -139,15 +140,24 @@ class Flat extends Generator{
|
|||||||
$this->level = $level;
|
$this->level = $level;
|
||||||
$this->random = $random;
|
$this->random = $random;
|
||||||
|
|
||||||
|
/*
|
||||||
|
// Commented out : We want to delay this
|
||||||
if(isset($this->options["preset"]) and $this->options["preset"] != ""){
|
if(isset($this->options["preset"]) and $this->options["preset"] != ""){
|
||||||
$this->parsePreset($this->options["preset"]);
|
$this->parsePreset($this->options["preset"]);
|
||||||
}else{
|
}else{
|
||||||
$this->parsePreset($this->preset);
|
$this->parsePreset($this->preset);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
public function generateChunk($chunkX, $chunkZ){
|
public function generateChunk($chunkX, $chunkZ){
|
||||||
|
if($this->chunk === null) {
|
||||||
|
if(isset($this->options["preset"]) and $this->options["preset"] != ""){
|
||||||
|
$this->parsePreset($this->options["preset"], $chunkX, $chunkZ);
|
||||||
|
}else{
|
||||||
|
$this->parsePreset($this->preset, $chunkX, $chunkZ);
|
||||||
|
}
|
||||||
|
}
|
||||||
$chunk = clone $this->chunk;
|
$chunk = clone $this->chunk;
|
||||||
$chunk->setX($chunkX);
|
$chunk->setX($chunkX);
|
||||||
$chunk->setZ($chunkZ);
|
$chunk->setZ($chunkZ);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user