Async chunk compression and serialization is now non-optional

This commit is contained in:
Dylan K. Taylor
2017-05-18 12:19:27 +01:00
parent 85c1535c75
commit 60f5c7ccef
6 changed files with 25 additions and 52 deletions

View File

@ -112,6 +112,7 @@ use pocketmine\network\mcpe\protocol\AddPlayerPacket;
use pocketmine\network\mcpe\protocol\AdventureSettingsPacket;
use pocketmine\network\mcpe\protocol\AnimatePacket;
use pocketmine\network\mcpe\protocol\AvailableCommandsPacket;
use pocketmine\network\mcpe\protocol\BatchPacket;
use pocketmine\network\mcpe\protocol\BlockEntityDataPacket;
use pocketmine\network\mcpe\protocol\BlockEventPacket;
use pocketmine\network\mcpe\protocol\BlockPickRequestPacket;
@ -803,7 +804,7 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade
return $this->spawnPosition instanceof WeakPosition and $this->spawnPosition->isValid();
}
public function sendChunk($x, $z, $payload){
public function sendChunk(int $x, int $z, BatchPacket $payload){
if($this->connected === false){
return;
}
@ -811,15 +812,7 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade
$this->usedChunks[Level::chunkHash($x, $z)] = true;
$this->chunkLoadCount++;
if($payload instanceof DataPacket){
$this->dataPacket($payload);
}else{
$pk = new FullChunkDataPacket();
$pk->chunkX = $x;
$pk->chunkZ = $z;
$pk->data = $payload;
$this->batchDataPacket($pk);
}
$this->dataPacket($payload);
if($this->spawned){
foreach($this->level->getChunkEntities($x, $z) as $entity){