Allow PlayerInfo to contain additional metadata

This commit is contained in:
Dylan K. Taylor 2019-07-20 15:19:17 +01:00
parent 1e057394c0
commit 08a654760c
2 changed files with 22 additions and 2 deletions

View File

@ -92,7 +92,8 @@ class LoginPacketHandler extends PacketHandler{
$skin, $skin,
$packet->clientData[LoginPacket::I_LANGUAGE_CODE], $packet->clientData[LoginPacket::I_LANGUAGE_CODE],
$packet->extraData[LoginPacket::I_XUID], $packet->extraData[LoginPacket::I_XUID],
$packet->clientData[LoginPacket::I_CLIENT_RANDOM_ID] $packet->clientData[LoginPacket::I_CLIENT_RANDOM_ID],
$packet->extraData
)); ));
$ev = new PlayerPreLoginEvent( $ev = new PlayerPreLoginEvent(

View File

@ -44,14 +44,26 @@ class PlayerInfo{
private $xuid; private $xuid;
/** @var int */ /** @var int */
private $clientId; private $clientId;
/** @var array */
private $extraData;
public function __construct(string $username, UUID $uuid, Skin $skin, string $locale, string $xuid, int $clientId){ /**
* @param string $username
* @param UUID $uuid
* @param Skin $skin
* @param string $locale
* @param string $xuid
* @param int $clientId
* @param array $extraData
*/
public function __construct(string $username, UUID $uuid, Skin $skin, string $locale, string $xuid, int $clientId, array $extraData = []){
$this->username = TextFormat::clean($username); $this->username = TextFormat::clean($username);
$this->uuid = $uuid; $this->uuid = $uuid;
$this->skin = $skin; $this->skin = $skin;
$this->locale = $locale; $this->locale = $locale;
$this->xuid = $xuid; $this->xuid = $xuid;
$this->clientId = $clientId; $this->clientId = $clientId;
$this->extraData = $extraData;
} }
/** /**
@ -95,4 +107,11 @@ class PlayerInfo{
public function getClientId() : int{ public function getClientId() : int{
return $this->clientId; return $this->clientId;
} }
/**
* @return array
*/
public function getExtraData() : array{
return $this->extraData;
}
} }