diff --git a/src/pocketmine/OfflinePlayer.php b/src/pocketmine/OfflinePlayer.php index 60e197593..0e631ee62 100644 --- a/src/pocketmine/OfflinePlayer.php +++ b/src/pocketmine/OfflinePlayer.php @@ -35,7 +35,7 @@ class OfflinePlayer implements IPlayer, Metadatable{ /** @var Server */ private $server; /** @var CompoundTag|null */ - private $namedtag; + private $namedtag = null; /** * @param Server $server @@ -44,10 +44,8 @@ class OfflinePlayer implements IPlayer, Metadatable{ public function __construct(Server $server, string $name){ $this->server = $server; $this->name = $name; - if(file_exists($this->server->getDataPath() . "players/" . strtolower($this->name) . ".dat")){ + if($this->server->hasOfflinePlayerData($this->name)){ $this->namedtag = $this->server->getOfflinePlayerData($this->name); - }else{ - $this->namedtag = null; } } diff --git a/src/pocketmine/Server.php b/src/pocketmine/Server.php index b5a25de47..08d64b04e 100644 --- a/src/pocketmine/Server.php +++ b/src/pocketmine/Server.php @@ -735,6 +735,17 @@ class Server{ return $result; } + /** + * Returns whether the server has stored any saved data for this player. + * + * @param string $name + * + * @return bool + */ + public function hasOfflinePlayerData(string $name) : bool{ + return file_exists($this->getDataPath() . "players/$name.dat"); + } + /** * @param string $name *