pocketmine\Server::getGamemodeFromString PHP Method

getGamemodeFromString() public static method

Parses a string and returns a gamemode integer, -1 if not found
public static getGamemodeFromString ( string $str ) : integer
$str string
return integer
    public static function getGamemodeFromString($str)
    {
        switch (strtolower(trim($str))) {
            case (string) Player::SURVIVAL:
            case "survival":
            case "s":
                return Player::SURVIVAL;
            case (string) Player::CREATIVE:
            case "creative":
            case "c":
                return Player::CREATIVE;
            case (string) Player::ADVENTURE:
            case "adventure":
            case "a":
                return Player::ADVENTURE;
            case (string) Player::SPECTATOR:
            case "spectator":
            case "view":
            case "v":
                return Player::SPECTATOR;
        }
        return -1;
    }

Usage Example

Esempio n. 1
0
 public function gameModeChange($command, $sender)
 {
     if (isset($command[1]) and isset($command[2])) {
         $gameMode = Server::getGamemodeFromString($command[1]);
         if ($gameMode === -1) {
             $sender->sendMessage("Unknown game mode");
         }
         $target = $sender;
         if (isset($command[2])) {
             $target = $sender->getServer()->getPlayerExact($command[2]);
             if ($target === null) {
                 $nbt = $this->getServer()->getOfflinePlayerData($command[2]);
                 if (!isset($nbt->NameTag)) {
                     $sender->sendMessage(TextFormat::RED . "해당 플레이어를 찾을 수 없습니다, " . $command[2]);
                     return true;
                 } else {
                     $nbt["playerGameType"] = $gameMode;
                     $this->getServer()->saveOfflinePlayerData($command[2], $nbt);
                     $sender->sendMessage(TextFormat::DARK_AQUA . "비로그인 중인 " . $command[2] . "님의 게임모드를 " . strtolower(Server::getGamemodeString($gameMode)) . "로 변경했습니다.");
                     return true;
                 }
             }
         } elseif (!$sender instanceof Player) {
             $sender->sendMessage(TextFormat::RED . "사용방법 : /gamemode <모드번호> [유저명]");
         }
     }
     if (isset($command[1])) {
         $target = $sender;
         $gameMode = Server::getGamemodeFromString($command[1]);
         if ($gameMode !== $target->getGamemode()) {
             // $target->setGamemode ( $gameMode ); // set
             $this->setGamemode($target, $gameMode);
             // set
             if ($gameMode !== $target->getGamemode()) {
                 $sender->sendMessage(TextFormat::RED . "게임모드 전환에 실패했습니다," . $target->getName());
             } else {
                 if ($target === $sender) {
                     Command::broadcastCommandMessage($sender, "게임모드를 전환합니다, " . strtolower(Server::getGamemodeString($gameMode)) . " mode");
                 } else {
                     Command::broadcastCommandMessage($sender, $target->getName() . "님의 게임모드를 " . strtolower(Server::getGamemodeString($gameMode)) . " 로 변경했습니다.");
                 }
             }
         } else {
             $sender->sendMessage($target->getName() . "님은 이미 " . strtolower(Server::getGamemodeString($gameMode) . " 모드입니다."));
         }
     }
 }
All Usage Examples Of pocketmine\Server::getGamemodeFromString
Server