diff --git a/src/Server.php b/src/Server.php index fc0be90af..bd2761ad7 100644 --- a/src/Server.php +++ b/src/Server.php @@ -36,7 +36,6 @@ use pocketmine\crafting\CraftingManager; use pocketmine\crafting\CraftingManagerFromDataHelper; use pocketmine\crash\CrashDump; use pocketmine\crash\CrashDumpRenderer; -use pocketmine\data\java\GameModeIdMap; use pocketmine\entity\EntityDataHelper; use pocketmine\entity\Location; use pocketmine\event\HandlerListManager; @@ -357,7 +356,7 @@ class Server{ } public function getGamemode() : GameMode{ - return GameModeIdMap::getInstance()->fromId($this->configGroup->getConfigInt("gamemode", 0)) ?? GameMode::SURVIVAL(); + return GameMode::fromString($this->configGroup->getConfigString("gamemode", GameMode::SURVIVAL()->name())) ?? GameMode::SURVIVAL(); } public function getForceGamemode() : bool{ @@ -804,7 +803,7 @@ class Server{ "enable-ipv6" => true, "white-list" => false, "max-players" => 20, - "gamemode" => 0, + "gamemode" => GameMode::SURVIVAL()->name(), "force-gamemode" => false, "hardcore" => false, "pvp" => true, diff --git a/src/command/defaults/DefaultGamemodeCommand.php b/src/command/defaults/DefaultGamemodeCommand.php index d2ae848ae..1f0b29aa3 100644 --- a/src/command/defaults/DefaultGamemodeCommand.php +++ b/src/command/defaults/DefaultGamemodeCommand.php @@ -25,7 +25,6 @@ namespace pocketmine\command\defaults; use pocketmine\command\CommandSender; use pocketmine\command\utils\InvalidCommandSyntaxException; -use pocketmine\data\java\GameModeIdMap; use pocketmine\lang\KnownTranslationFactory; use pocketmine\permission\DefaultPermissionNames; use pocketmine\player\GameMode; @@ -57,7 +56,7 @@ class DefaultGamemodeCommand extends VanillaCommand{ return true; } - $sender->getServer()->getConfigGroup()->setConfigInt("gamemode", GameModeIdMap::getInstance()->toId($gameMode)); + $sender->getServer()->getConfigGroup()->setConfigString("gamemode", $gameMode->name()); $sender->sendMessage(KnownTranslationFactory::commands_defaultgamemode_success($gameMode->getTranslatableName())); return true; } diff --git a/src/wizard/SetupWizard.php b/src/wizard/SetupWizard.php index 6dfb3b690..97bf2fd58 100644 --- a/src/wizard/SetupWizard.php +++ b/src/wizard/SetupWizard.php @@ -162,9 +162,9 @@ LICENSE; $this->message($this->lang->translate(KnownTranslationFactory::gamemode_info())); do{ - $gamemode = (int) $this->getInput($this->lang->translate(KnownTranslationFactory::default_gamemode()), (string) GameModeIdMap::getInstance()->toId(GameMode::SURVIVAL())); - }while($gamemode < 0 or $gamemode > 3); - $config->set("gamemode", $gamemode); + $gamemode = GameModeIdMap::getInstance()->fromId((int) $this->getInput($this->lang->translate(KnownTranslationFactory::default_gamemode()), (string) GameModeIdMap::getInstance()->toId(GameMode::SURVIVAL()))); + }while($gamemode === null); + $config->set("gamemode", $gamemode->name()); $config->set("max-players", (int) $this->getInput($this->lang->translate(KnownTranslationFactory::max_players()), (string) self::DEFAULT_PLAYERS));