50 if(count($args) === 0){
54 $gameMode = GameMode::fromString($args[0]);
55 if($gameMode ===
null){
56 $sender->sendMessage(KnownTranslationFactory::pocketmine_command_gamemode_unknown($args[0]));
60 $target = $this->fetchPermittedPlayerTarget($commandLabel, $sender, $args[1] ??
null, DefaultPermissionNames::COMMAND_GAMEMODE_SELF, DefaultPermissionNames::COMMAND_GAMEMODE_OTHER);
65 if($target->getGamemode() === $gameMode){
66 $sender->sendMessage(KnownTranslationFactory::pocketmine_command_gamemode_failure($target->getName()));
70 $target->setGamemode($gameMode);
71 if($gameMode !== $target->getGamemode()){
72 $sender->sendMessage(KnownTranslationFactory::pocketmine_command_gamemode_failure($target->getName()));
74 if($target === $sender){
75 Command::broadcastCommandMessage($sender, KnownTranslationFactory::commands_gamemode_success_self($gameMode->getTranslatableName()));
77 $target->sendMessage(KnownTranslationFactory::gameMode_changed($gameMode->getTranslatableName()));
78 Command::broadcastCommandMessage($sender, KnownTranslationFactory::commands_gamemode_success_other($gameMode->getTranslatableName(), $target->getName()));