diff --git a/src/Server.php b/src/Server.php index 7c4202f9e..f1643336b 100644 --- a/src/Server.php +++ b/src/Server.php @@ -1097,6 +1097,7 @@ class Server{ $generatorClass = $getGenerator($generatorName, $generatorOptions, $name); if($generatorClass === null){ + $anyWorldFailedToLoad = true; continue; } $creationOptions->setGeneratorClass($generatorClass); @@ -1133,16 +1134,19 @@ class Server{ $generatorName = $this->configGroup->getConfigString("level-type"); $generatorOptions = $this->configGroup->getConfigString("generator-settings"); $generatorClass = $getGenerator($generatorName, $generatorOptions, $default); - if($generatorClass !== null){ - $creationOptions = WorldCreationOptions::create() - ->setGeneratorClass($generatorClass) - ->setGeneratorOptions($generatorOptions); - $convertedSeed = Generator::convertSeed($this->configGroup->getConfigString("level-seed")); - if($convertedSeed !== null){ - $creationOptions->setSeed($convertedSeed); - } - $this->worldManager->generateWorld($default, $creationOptions); + + if($generatorClass === null){ + $this->getLogger()->emergency($this->getLanguage()->translate(KnownTranslationFactory::pocketmine_level_defaultError())); + return false; } + $creationOptions = WorldCreationOptions::create() + ->setGeneratorClass($generatorClass) + ->setGeneratorOptions($generatorOptions); + $convertedSeed = Generator::convertSeed($this->configGroup->getConfigString("level-seed")); + if($convertedSeed !== null){ + $creationOptions->setSeed($convertedSeed); + } + $this->worldManager->generateWorld($default, $creationOptions); } $world = $this->worldManager->getWorldByName($default);