public function execute(CommandSender $sender, $currentAlias, array $args) { if (!$this->testPermission($sender)) { return true; } if (count($args) === 0) { $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$this->usageMessage])); return false; } $gameMode = Server::getGamemodeFromString($args[0]); if ($gameMode !== -1) { $sender->getServer()->setConfigInt("gamemode", $gameMode); $sender->sendMessage(new TranslationContainer("commands.defaultgamemode.success", [Server::getGamemodeString($gameMode)])); } else { $sender->sendMessage("Unknown game mode"); } return true; }
public function execute(CommandSender $sender, $currentAlias, array $args) { if (!$this->testPermission($sender)) { return true; } if (count($args) === 0) { $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$this->usageMessage])); return false; } $gameMode = Server::getGamemodeFromString($args[0]); if ($gameMode === -1) { $sender->sendMessage("Unknown game mode"); return true; } $target = $sender; if (isset($args[1])) { $target = $sender->getServer()->getPlayer($args[1]); if ($target === null) { $sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.player.notFound")); return true; } } elseif (!$sender instanceof Player) { $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$this->usageMessage])); return true; } $target->setGamemode($gameMode); if ($gameMode !== $target->getGamemode()) { $sender->sendMessage("Game mode change for " . $target->getName() . " failed!"); } else { if ($target === $sender) { Command::broadcastCommandMessage($sender, new TranslationContainer("commands.gamemode.success.self", [Server::getGamemodeString($gameMode)])); } else { $target->sendMessage(new TranslationContainer("gameMode.changed")); Command::broadcastCommandMessage($sender, new TranslationContainer("commands.gamemode.success.other", [$target->getName(), Server::getGamemodeString($gameMode)])); } } return true; }