setPermission(DefaultPermissionNames::COMMAND_DEFAULTGAMEMODE); } public function execute(CommandSender $sender, string $commandLabel, array $args){ if(count($args) === 0){ throw new InvalidCommandSyntaxException(); } $gameMode = GameMode::fromString($args[0]); if($gameMode === null){ $sender->sendMessage(KnownTranslationFactory::pocketmine_command_gamemode_unknown($args[0])); return true; } //TODO: this probably shouldn't use the enum name directly $sender->getServer()->getConfigGroup()->setConfigString(ServerProperties::GAME_MODE, $gameMode->name); $sender->sendMessage(KnownTranslationFactory::commands_defaultgamemode_success($gameMode->getTranslatableName())); return true; } }