diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index eb52c3e65..1be619e4f 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -908,7 +908,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{ $this->usedChunks[Level::chunkHash($x, $z)] = true; $this->chunkLoadCount++; - $this->networkSession->getInterface()->putPacket($this->networkSession, $payload); + $this->networkSession->sendEncoded($payload); if($this->spawned){ foreach($this->level->getChunkEntities($x, $z) as $entity){ diff --git a/src/pocketmine/Server.php b/src/pocketmine/Server.php index 4ff4fe260..5d562145c 100644 --- a/src/pocketmine/Server.php +++ b/src/pocketmine/Server.php @@ -1903,7 +1903,7 @@ class Server{ public function broadcastPacketsCallback(string $payload, array $sessions, bool $immediate = false){ /** @var NetworkSession $session */ foreach($sessions as $session){ - $session->getInterface()->putPacket($session, $payload, $immediate); + $session->sendEncoded($payload, $immediate); } } diff --git a/src/pocketmine/network/mcpe/NetworkSession.php b/src/pocketmine/network/mcpe/NetworkSession.php index 7e409cca0..acad83e3e 100644 --- a/src/pocketmine/network/mcpe/NetworkSession.php +++ b/src/pocketmine/network/mcpe/NetworkSession.php @@ -192,6 +192,11 @@ class NetworkSession{ } } + public function sendEncoded(string $payload, bool $immediate = false) : void{ + //TODO: encryption + $this->interface->putPacket($this, $payload, $immediate); + } + /** * Disconnects the session, destroying the associated player (if it exists). * diff --git a/src/pocketmine/network/mcpe/handler/PreSpawnSessionHandler.php b/src/pocketmine/network/mcpe/handler/PreSpawnSessionHandler.php index 00d72b991..f3edfe987 100644 --- a/src/pocketmine/network/mcpe/handler/PreSpawnSessionHandler.php +++ b/src/pocketmine/network/mcpe/handler/PreSpawnSessionHandler.php @@ -86,7 +86,7 @@ class PreSpawnSessionHandler extends SessionHandler{ $this->player->sendAllInventories(); $this->player->getInventory()->sendCreativeContents(); $this->player->getInventory()->sendHeldItem($this->player); - $this->session->getInterface()->putPacket($this->session, $this->server->getCraftingManager()->getCraftingDataPacket()); + $this->session->sendEncoded($this->server->getCraftingManager()->getCraftingDataPacket()); $this->server->sendFullPlayerListData($this->player); }