コード例 #1
0
 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;
 }
コード例 #2
0
 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;
 }