Just cut the adapter loose instead of needing extra fields for this

This commit is contained in:
Dylan K. Taylor 2017-07-12 12:26:37 +01:00
parent 650afe2d94
commit e485999218
2 changed files with 4 additions and 9 deletions

View File

@ -3165,8 +3165,10 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade
* @param DataPacket $packet * @param DataPacket $packet
*/ */
public function handleDataPacket(DataPacket $packet){ public function handleDataPacket(DataPacket $packet){
if($this->sessionAdapter !== null){
$this->sessionAdapter->handleDataPacket($packet); $this->sessionAdapter->handleDataPacket($packet);
} }
}
/** /**
* Transfers a player to another server. * Transfers a player to another server.
@ -3389,7 +3391,7 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade
$this->directDataPacket($pk); $this->directDataPacket($pk);
} }
$this->sessionAdapter->connected = false; $this->sessionAdapter = null;
$this->connected = false; $this->connected = false;
$this->server->getPluginManager()->unsubscribeFromPermission(Server::BROADCAST_CHANNEL_USERS, $this); $this->server->getPluginManager()->unsubscribeFromPermission(Server::BROADCAST_CHANNEL_USERS, $this);

View File

@ -70,9 +70,6 @@ class PlayerNetworkSessionAdapter extends BaseNetworkSession{
/** @var Player */ /** @var Player */
private $player; private $player;
/** @var bool */
public $connected = true;
public function __construct(Server $server, Player $player){ public function __construct(Server $server, Player $player){
$this->server = $server; $this->server = $server;
$this->player = $player; $this->player = $player;
@ -83,10 +80,6 @@ class PlayerNetworkSessionAdapter extends BaseNetworkSession{
} }
public function handleDataPacket(DataPacket $packet){ public function handleDataPacket(DataPacket $packet){
if($this->connected === false){
return;
}
//TODO: Remove this hack once InteractPacket spam issue is fixed //TODO: Remove this hack once InteractPacket spam issue is fixed
if($packet->buffer === "\x21\x04\x00"){ if($packet->buffer === "\x21\x04\x00"){
return; return;