mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-07 10:22:56 +00:00
Player: Accept NBT data in constructor, instead of asking for it from the server directly
this allows custom implementations to provide custom data to the constructor (or none at all).
This commit is contained in:
@ -263,7 +263,7 @@ class Player extends Human implements CommandSender, ChunkLoader, ChunkListener,
|
||||
/** @var SurvivalBlockBreakHandler|null */
|
||||
protected $blockBreakHandler = null;
|
||||
|
||||
public function __construct(Server $server, NetworkSession $session, PlayerInfo $playerInfo, bool $authenticated){
|
||||
public function __construct(Server $server, NetworkSession $session, PlayerInfo $playerInfo, bool $authenticated, ?CompoundTag $namedtag){
|
||||
$username = TextFormat::clean($playerInfo->getUsername());
|
||||
$this->logger = new \PrefixedLogger($server->getLogger(), "Player: $username");
|
||||
|
||||
@ -284,8 +284,6 @@ class Player extends Human implements CommandSender, ChunkLoader, ChunkListener,
|
||||
$this->spawnThreshold = (int) (($this->server->getConfigGroup()->getProperty("chunk-sending.spawn-radius", 4) ** 2) * M_PI);
|
||||
$this->chunkSelector = new ChunkSelector();
|
||||
|
||||
$namedtag = $this->server->getOfflinePlayerData($this->username); //TODO: make this async
|
||||
|
||||
if($namedtag !== null and ($world = $this->server->getWorldManager()->getWorldByName($namedtag->getString("Level", ""))) !== null){
|
||||
$spawn = EntityDataHelper::parseLocation($namedtag, $world);
|
||||
$onGround = $namedtag->getByte("OnGround", 1) === 1;
|
||||
|
Reference in New Issue
Block a user