getGamemodeString() public static method

Returns the gamemode text name
public static getGamemodeString ( integer $mode ) : string
$mode integer
return string
 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(TextFormat::RED . "Usage: " . $this->usageMessage);
         return \false;
     }
     $gameMode = Server::getGamemodeFromString($args[0]);
     if ($gameMode !== -1) {
         $sender->getServer()->setConfigInt("gamemode", $gameMode);
         $sender->sendMessage("Default game mode set to " . \strtolower(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(TextFormat::RED . "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("Can't find player " . $args[1]);
             return \true;
         }
     } elseif (!$sender instanceof Player) {
         $sender->sendMessage(TextFormat::RED . "Usage: " . $this->usageMessage);
         return \true;
     }
     if ($gameMode !== $target->getGamemode()) {
         $target->setGamemode($gameMode);
         if ($gameMode !== $target->getGamemode()) {
             $sender->sendMessage("Game mode change for " . $target->getName() . " failed!");
         } else {
             if ($target === $sender) {
                 Command::broadcastCommandMessage($sender, "Set own gamemode to " . \strtolower(Server::getGamemodeString($gameMode)) . " mode");
             } else {
                 Command::broadcastCommandMessage($sender, "Set " . $target->getName() . "'s gamemode to " . \strtolower(Server::getGamemodeString($gameMode)) . " mode");
             }
         }
     } else {
         $sender->sendMessage($target->getName() . " already has game mode " . \strtolower(Server::getGamemodeString($gameMode)));
         return \true;
     }
     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;
 }
示例#5
0
 /**
  * Sets the gamemode, and if needed, kicks the player
  * TODO: Check if Mojang adds the ability to change gamemode without kicking players
  *
  * @param int $gm
  *
  * @return bool
  */
 public function setGamemode($gm)
 {
     if ($gm < 0 or $gm > 3 or $this->gamemode === $gm) {
         return false;
     }
     $this->server->getPluginManager()->callEvent($ev = new PlayerGameModeChangeEvent($this, (int) $gm));
     if ($ev->isCancelled()) {
         return false;
     }
     if (($this->gamemode & 0x1) === ($gm & 0x1)) {
         $this->gamemode = $gm;
         $this->sendMessage("Your gamemode has been changed to " . Server::getGamemodeString($this->getGamemode()) . ".\n");
     } else {
         $this->gamemode = $gm;
         $this->sendMessage("Your gamemode has been changed to " . Server::getGamemodeString($this->getGamemode()) . ".\n");
         $this->inventory->clearAll();
         $this->inventory->sendContents($this->getViewers());
         $this->inventory->sendHeldItem($this->hasSpawned);
     }
     $this->namedtag->playerGameType = new Int("playerGameType", $this->gamemode);
     $spawnPosition = $this->getSpawn();
     $pk = new StartGamePacket();
     $pk->seed = $this->level->getSeed();
     $pk->x = $this->x;
     $pk->y = $this->y + $this->getEyeHeight();
     $pk->z = $this->z;
     $pk->spawnX = (int) $spawnPosition->x;
     $pk->spawnY = (int) $spawnPosition->y;
     $pk->spawnZ = (int) $spawnPosition->z;
     $pk->generator = 1;
     //0 old, 1 infinite, 2 flat
     $pk->gamemode = $this->gamemode & 0x1;
     $pk->eid = 0;
     //Always use EntityID as zero for the actual player
     $this->dataPacket($pk);
     $this->sendSettings();
     return true;
 }
示例#6
0
 /**
  * Sets the gamemode, and if needed, kicks the Player.
  *
  * @param int  $gm
  * @param bool $client if the client made this change in their GUI
  *
  * @return bool
  */
 public function setGamemode(int $gm, bool $client = false)
 {
     if ($gm < 0 or $gm > 3 or $this->gamemode === $gm) {
         return false;
     }
     $this->server->getPluginManager()->callEvent($ev = new PlayerGameModeChangeEvent($this, (int) $gm));
     if ($ev->isCancelled()) {
         if ($client) {
             //gamemode change by client in the GUI
             $pk = new SetPlayerGameTypePacket();
             $pk->gamemode = $this->gamemode & 0x1;
             $this->dataPacket($pk);
             $this->sendSettings();
         }
         return false;
     }
     $this->gamemode = $gm;
     $this->allowFlight = $this->isCreative();
     if ($this->isSpectator()) {
         $this->flying = true;
         $this->despawnFromAll();
         // Client automatically turns off flight controls when on the ground.
         // A combination of this hack and a new AdventureSettings flag FINALLY
         // fixes spectator flight controls. Thank @robske110 for this hack.
         $this->teleport($this->temporalVector->setComponents($this->x, $this->y + 0.1, $this->z));
     } else {
         if ($this->isSurvival()) {
             $this->flying = false;
         }
         $this->spawnToAll();
     }
     $this->resetFallDistance();
     $this->namedtag->playerGameType = new IntTag("playerGameType", $this->gamemode);
     if (!$client) {
         //Gamemode changed by server, do not send for client changes
         $pk = new SetPlayerGameTypePacket();
         $pk->gamemode = $this->gamemode & 0x1;
         $this->dataPacket($pk);
         $this->sendSettings();
     } else {
         Command::broadcastCommandMessage($this, new TranslationContainer("commands.gamemode.success.self", [Server::getGamemodeString($gm)]));
     }
     $this->inventory->sendContents($this);
     $this->inventory->sendContents($this->getViewers());
     $this->inventory->sendHeldItem($this->hasSpawned);
     if ($this->isCreative()) {
         $this->inventory->sendCreativeContents();
     }
     return true;
 }
示例#7
0
 public function setGamemode(Player $player, $gm)
 {
     if ($gm < 0 or $gm > 3 or $player->gamemode === $gm) {
         return \false;
     }
     $player->getServer()->getPluginManager()->callEvent($ev = new PlayerGameModeChangeEvent($player, (int) $gm));
     if ($ev->isCancelled()) {
         return false;
     }
     if (($player->gamemode & 0x1) === ($gm & 0x1)) {
         $player->gamemode = $gm;
         $player->sendMessage(TextFormat::DARK_AQUA . "게임모드가 변경되었습니다, " . Server::getGamemodeString($player->getGamemode()) . ".\n");
     } else {
         $player->gamemode = $gm;
         $player->sendMessage(TextFormat::DARK_AQUA . "게임모드가 변경되었습니다, " . Server::getGamemodeString($player->getGamemode()) . ".\n");
         $player->getInventory()->clearAll();
         $player->getInventory()->sendContents($player->getViewers());
         $player->getInventory()->sendHeldItem($player->getViewers());
     }
     $player->namedtag->playerGameType = new Int("playerGameType", $player->gamemode);
     $player->sendMessage(TextFormat::DARK_AQUA . "새 게임모드 적용을 위해 서버에서 킥처리됩니다.");
     $this->getServer()->getScheduler()->scheduleDelayedTask(new CallbackTask([$this, "Kick"], [$player]), 50);
     return true;
 }
示例#8
0
 public function onEnable()
 {
     $this->saveDefaultConfig();
     self::$token = $this->getConfig()->get("token", "");
     self::$defaultChannel = $this->getConfig()->get("defaultChannel", "");
     self::$updateInterval = $this->getConfig()->get("updateInterval", 20);
     if (self::$token === "") {
         $this->getLogger()->alert("You need to set your Telegram bot token to enable this plugin");
         $this->getLogger()->alert("-> " . $this->getDataFolder() . "config.yml");
         $this->getServer()->getPluginManager()->disablePlugin($this);
         return;
     }
     self::$broadcastToTelegram = $this->getConfig()->get("broadcastToTelegram", true);
     self::$broadcastTelegramMessages = $this->getConfig()->get("broadcastTelegramMessages", true);
     self::$enableTelegramCommands = $this->getConfig()->get("enableTelegramCommands", true);
     self::$disableWebPagePreview = $this->getConfig()->get("disableWebPagePreview", true);
     self::$enableMarkdownParsing = $this->getConfig()->get("enableMarkdownParsing", false);
     self::$debugMode = $this->getConfig()->get("debugMode", false);
     $handler = new EventHandler();
     $this->getServer()->getPluginManager()->registerEvents($handler, $this);
     $this->getServer()->getPluginManager()->subscribeToPermission(Server::BROADCAST_CHANNEL_USERS, $handler);
     PocketTelegram::getMe();
     PocketTelegram::getUpdates();
     if ($this->getConfig()->get("broadcastServerStart", false) === true) {
         PocketTelegram::sendMessage(PocketTelegram::translateString("pocketmine.server.start", [TextFormat::AQUA . $this->getServer()->getVersion()]) . PHP_EOL . PocketTelegram::translateString("pocketmine.server.defaultGameMode", [Server::getGamemodeString($this->getServer()->getGamemode())]) . PHP_EOL . PHP_EOL . "#" . $this->getServer()->getMotd(), self::$defaultChannel);
     }
 }