From 74e31fe712584c3615a24251896d2cb3c4fda0d7 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sat, 3 Dec 2016 20:05:00 +0000 Subject: [PATCH] Fix ./command detection by old plugins (#138) * Fix ./command detection by old plugins * plugins might change it :facepalm: --- src/pocketmine/Player.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index bdcc0f3b87..1f3afbfd1b 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -2556,6 +2556,10 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade $packet->message = TextFormat::clean($packet->message, $this->removeFormat); foreach(explode("\n", $packet->message) as $message){ if(trim($message) != "" and strlen($message) <= 255 and $this->messageCounter-- > 0){ + if(substr($message, 0, 2) === "./"){ //Command (./ = fast hack for old plugins post 0.16) + $message = substr($message, 1); + } + $ev = new PlayerCommandPreprocessEvent($this, $message); if(mb_strlen($ev->getMessage(), "UTF-8") > 320){ @@ -2566,9 +2570,10 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade if($ev->isCancelled()){ break; } - if(substr($ev->getMessage(), 0, 2) === "./"){ //Command (./ = fast hack for old plugins post 0.16) + + if(substr($ev->getMessage(), 0, 1) === "/"){ Timings::$playerCommandTimer->startTiming(); - $this->server->dispatchCommand($ev->getPlayer(), substr($ev->getMessage(), 2)); + $this->server->dispatchCommand($ev->getPlayer(), substr($ev->getMessage(), 1)); Timings::$playerCommandTimer->stopTiming(); }else{ $this->server->getPluginManager()->callEvent($ev = new PlayerChatEvent($this, $ev->getMessage()));