Merge branch 'release/3.5'

This commit is contained in:
Dylan K. Taylor 2018-12-28 19:32:48 +00:00
commit baf278831e

View File

@ -2820,8 +2820,6 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
*/ */
final public function close($message = "", string $reason = "generic reason", bool $notify = true) : void{ final public function close($message = "", string $reason = "generic reason", bool $notify = true) : void{
if($this->isConnected() and !$this->closed){ if($this->isConnected() and !$this->closed){
try{
$ip = $this->networkSession->getIp(); $ip = $this->networkSession->getIp();
$port = $this->networkSession->getPort(); $port = $this->networkSession->getPort();
$this->networkSession->onPlayerDestroyed($reason, $notify); $this->networkSession->onPlayerDestroyed($reason, $notify);
@ -2839,12 +2837,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
$this->server->broadcastMessage($ev->getQuitMessage()); $this->server->broadcastMessage($ev->getQuitMessage());
} }
try{
$this->save(); $this->save();
}catch(\Throwable $e){
$this->server->getLogger()->critical("Failed to save player data for " . $this->getName());
$this->server->getLogger()->logException($e);
}
} }
if($this->isValid()){ if($this->isValid()){
@ -2887,6 +2880,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
$this->loggedIn = false; $this->loggedIn = false;
$this->server->removeOnlinePlayer($this); $this->server->removeOnlinePlayer($this);
} }
$this->server->removePlayer($this);
$this->server->getLogger()->info($this->getServer()->getLanguage()->translateString("pocketmine.player.logOut", [ $this->server->getLogger()->info($this->getServer()->getLanguage()->translateString("pocketmine.player.logOut", [
TextFormat::AQUA . $this->getName() . TextFormat::WHITE, TextFormat::AQUA . $this->getName() . TextFormat::WHITE,
@ -2901,11 +2895,6 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
$this->perm->clearPermissions(); $this->perm->clearPermissions();
$this->perm = null; $this->perm = null;
} }
}catch(\Throwable $e){
$this->server->getLogger()->logException($e);
}finally{
$this->server->removePlayer($this);
}
} }
} }