Generator: Moved generator registering things to a separate GeneratorManager class

this isolates the concerns of the Generator class, and also removes cyclic dependencies between the Generator class and its descendents.
This commit is contained in:
Dylan K. Taylor
2018-06-07 13:48:01 +01:00
parent 0bca3cd481
commit 5eec683110
6 changed files with 95 additions and 60 deletions

View File

@ -51,6 +51,7 @@ use pocketmine\level\format\io\BaseLevelProvider;
use pocketmine\level\format\io\ChunkRequestTask;
use pocketmine\level\format\io\LevelProvider;
use pocketmine\level\generator\Generator;
use pocketmine\level\generator\GeneratorManager;
use pocketmine\level\generator\GeneratorRegisterTask;
use pocketmine\level\generator\GeneratorUnregisterTask;
use pocketmine\level\generator\PopulationTask;
@ -331,7 +332,7 @@ class Level implements ChunkManager, Metadatable{
$this->worldHeight = $this->provider->getWorldHeight();
$this->server->getLogger()->info($this->server->getLanguage()->translateString("pocketmine.level.preparing", [$this->displayName]));
$this->generator = Generator::getGenerator($this->provider->getGenerator());
$this->generator = GeneratorManager::getGenerator($this->provider->getGenerator());
$this->folderName = $name;