From 9c95441402626154d41ab8bb2794b15188cb9521 Mon Sep 17 00:00:00 2001 From: Shoghi Cervantes Date: Wed, 13 Aug 2014 20:43:46 +0200 Subject: [PATCH] Force despawn of players on quit --- src/pocketmine/Player.php | 2 +- src/pocketmine/entity/Entity.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index b529d60ae0..e98e5e9ce5 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -2099,10 +2099,10 @@ class Player extends Human implements CommandSender, InventoryHolder, IPlayer{ */ public function close($message = "", $reason = "generic reason"){ if($this->connected === true){ + parent::close(); if($this->username != ""){ $this->server->getPluginManager()->callEvent($ev = new PlayerQuitEvent($this, $message)); if($this->loggedIn === true){ - parent::close(); $this->save(); } } diff --git a/src/pocketmine/entity/Entity.php b/src/pocketmine/entity/Entity.php index b3300330b2..1a3a416544 100644 --- a/src/pocketmine/entity/Entity.php +++ b/src/pocketmine/entity/Entity.php @@ -1042,6 +1042,7 @@ abstract class Entity extends Position implements Metadatable{ public function close(){ if($this->closed === false){ + $this->server->getPluginManager()->callEvent(new EntityDespawnEvent($this)); $this->closed = true; unset(Entity::$needUpdate[$this->id]); if($this->chunk instanceof FullChunk){ @@ -1049,7 +1050,6 @@ abstract class Entity extends Position implements Metadatable{ } $this->getLevel()->removeEntity($this); $this->despawnFromAll(); - $this->server->getPluginManager()->callEvent(new EntityDespawnEvent($this)); } }