From 66435d4f6a3a556491e34106ece73c3371802025 Mon Sep 17 00:00:00 2001 From: Shoghi Cervantes Date: Sun, 24 May 2015 10:16:43 +0200 Subject: [PATCH] Workaround client-sede issue, remove this when fixed --- src/pocketmine/Player.php | 4 ++-- src/pocketmine/Server.php | 4 +++- src/pocketmine/entity/Entity.php | 6 +++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index 114b24cb0..af849b71d 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -2706,9 +2706,9 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade $pk = new TextPacket(); if(!$this->server->isLanguageForced()){ $pk->type = TextPacket::TYPE_TRANSLATION; - $pk->message = $this->server->getLanguage()->translateString($message, [], "pocketmine."); + $pk->message = $this->server->getLanguage()->translateString($message, $parameters, "pocketmine."); foreach($parameters as $i => $p){ - $parameters[$i] = $this->server->getLanguage()->translateString($p, [], "pocketmine."); + $parameters[$i] = $this->server->getLanguage()->translateString($p, $parameters, "pocketmine."); } $pk->parameters = $parameters; }else{ diff --git a/src/pocketmine/Server.php b/src/pocketmine/Server.php index 42ae4942d..32a897350 100644 --- a/src/pocketmine/Server.php +++ b/src/pocketmine/Server.php @@ -2204,7 +2204,9 @@ class Server{ if($this->isRunning === false){ return; } - $this->sendUsage(SendUsageTask::TYPE_CLOSE); + if($this->sendUsageTicker > 0){ + $this->sendUsage(SendUsageTask::TYPE_CLOSE); + } $this->hasStopped = false; ini_set("error_reporting", 0); diff --git a/src/pocketmine/entity/Entity.php b/src/pocketmine/entity/Entity.php index 0f9d4ad34..91f881778 100644 --- a/src/pocketmine/entity/Entity.php +++ b/src/pocketmine/entity/Entity.php @@ -1008,6 +1008,10 @@ abstract class Entity extends Location implements Metadatable{ } protected function switchLevel(Level $targetLevel){ + if($this->closed){ + return false; + } + if($this->isValid()){ $this->server->getPluginManager()->callEvent($ev = new EntityLevelChangeEvent($this, $this->level, $targetLevel)); if($ev->isCancelled()){ @@ -1496,7 +1500,7 @@ abstract class Entity extends Location implements Metadatable{ if($this->chunk !== null){ $this->chunk->removeEntity($this); } - if($this->level instanceof Level){ + if($this->level !== null){ $this->level->removeEntity($this); } }