From d7be531868c829a7883aa15929a38ed9bdfe4471 Mon Sep 17 00:00:00 2001 From: Shoghi Cervantes Date: Sat, 23 May 2015 12:09:26 +0200 Subject: [PATCH] Limit amount of messages per tick per player to 2 --- src/pocketmine/Player.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index c066b9bf5..1ef660af8 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -155,6 +155,8 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade /** @var Inventory[] */ protected $windowIndex = []; + protected $messageCounter = 2; + protected $sendIndex = 0; protected $moveToSend = []; @@ -1381,6 +1383,8 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade return true; } + $this->messageCounter = 2; + $this->lastUpdate = $currentTick; if(!$this->isAlive() and $this->spawned){ @@ -2358,7 +2362,7 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade if($packet->type === TextPacket::TYPE_CHAT){ $packet->message = TextFormat::clean($packet->message, $this->removeFormat); foreach(explode("\n", $packet->message) as $message){ - if(trim($message) != "" and strlen($message) <= 255){ + if(trim($message) != "" and strlen($message) <= 255 and $this->messageCounter-- > 0){ $this->server->getPluginManager()->callEvent($ev = new PlayerCommandPreprocessEvent($this, $message)); if($ev->isCancelled()){ break;