mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-07 10:22:56 +00:00
Level: Stop unnecessarily initializing the generator on the main thread
this is just slowing down startup times for no good reason.
This commit is contained in:
@ -239,10 +239,8 @@ class Level implements ChunkManager, Metadatable{
|
||||
/** @var int */
|
||||
public $tickRateCounter = 0;
|
||||
|
||||
/** @var Generator */
|
||||
/** @var string|Generator */
|
||||
private $generator;
|
||||
/** @var Generator */
|
||||
private $generatorInstance;
|
||||
|
||||
/** @var bool */
|
||||
private $closed = false;
|
||||
@ -379,17 +377,13 @@ class Level implements ChunkManager, Metadatable{
|
||||
}
|
||||
|
||||
public function initLevel(){
|
||||
$generator = $this->generator;
|
||||
$this->generatorInstance = new $generator($this->provider->getGeneratorOptions());
|
||||
$this->generatorInstance->init($this, new Random($this->getSeed()));
|
||||
|
||||
$this->registerGenerator();
|
||||
}
|
||||
|
||||
public function registerGenerator(){
|
||||
$size = $this->server->getScheduler()->getAsyncTaskPoolSize();
|
||||
for($i = 0; $i < $size; ++$i){
|
||||
$this->server->getScheduler()->scheduleAsyncTaskToWorker(new GeneratorRegisterTask($this, $this->generatorInstance), $i);
|
||||
$this->server->getScheduler()->scheduleAsyncTaskToWorker(new GeneratorRegisterTask($this, $this->generator, $this->provider->getGeneratorOptions()), $i);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user