From 03b1385f26655f8b8d17bd80a0f5645b11633ff0 Mon Sep 17 00:00:00 2001 From: Shoghi Cervantes Date: Wed, 25 Jun 2014 20:58:59 +0200 Subject: [PATCH] Fixed teleport command with a single target not teleporting correctly --- src/pocketmine/Player.php | 4 ++-- src/pocketmine/command/defaults/TeleportCommand.php | 10 +++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index 9dab60d16..1693e0310 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -1970,7 +1970,7 @@ class Player extends Human implements CommandSender, InventoryHolder, IPlayer{ public function kick($reason = ""){ $this->server->getPluginManager()->callEvent($ev = new PlayerKickEvent($this, $reason, "Kicked player " . $this->username . "." . ($reason !== "" ? " With reason: $reason" : ""))); if(!$ev->isCancelled()){ - $message = TextFormat::BOLD . "You have been kicked." . ($reason !== "" ? TextFormat::RESET."\nReason: $reason" : ""); + $message = $reason !== "" ? $reason : "Kicked from server"; $this->sendMessage($message); $this->close($ev->getQuitMessage(), $message); @@ -2044,7 +2044,7 @@ class Player extends Human implements CommandSender, InventoryHolder, IPlayer{ } $this->server->getPluginManager()->unsubscribeFromPermission(Server::BROADCAST_CHANNEL_USERS, $this); $this->spawned = false; - $this->server->getLogger()->info(TextFormat::AQUA . $this->username . TextFormat::WHITE . "[/" . $this->ip . ":" . $this->port . "] logged out due to " . $reason); + $this->server->getLogger()->info(TextFormat::AQUA . $this->username . TextFormat::WHITE . "[/" . $this->ip . ":" . $this->port . "] logged out due to " . str_replace(["\n", "\r"], [" ", ""], $reason)); $this->windows = new \SplObjectStorage(); $this->windowIndex = []; $this->usedChunks = []; diff --git a/src/pocketmine/command/defaults/TeleportCommand.php b/src/pocketmine/command/defaults/TeleportCommand.php index 1689fa2e7..27d0b1135 100644 --- a/src/pocketmine/command/defaults/TeleportCommand.php +++ b/src/pocketmine/command/defaults/TeleportCommand.php @@ -58,14 +58,19 @@ class TeleportCommand extends VanillaCommand{ $target = $sender; }else{ $sender->sendMessage(TextFormat::RED . "Please provide a player!"); - return true; } + if(count($args) === 1){ + $target = $sender->getServer()->getPlayer($args[0]); + if($target === null){ + $sender->sendMessage(TextFormat::RED . "Can't find player " . $args[0]); + return true; + } + } }else{ $target = $sender->getServer()->getPlayer($args[0]); if($target === null){ $sender->sendMessage(TextFormat::RED . "Can't find player " . $args[0]); - return true; } if(count($args) === 2){ @@ -73,7 +78,6 @@ class TeleportCommand extends VanillaCommand{ $target = $sender->getServer()->getPlayer($args[1]); if($target === null){ $sender->sendMessage(TextFormat::RED . "Can't find player " . $args[1]); - return true; } }