use pocketmine\network\mcpe\NetworkSession; use function strlen; class ResourcePackChunkDataPacket extends DataPacket{ public const NETWORK_ID = ProtocolInfo::RESOURCE_PACK_CHUNK_DATA_PACKET; /** @var string */ public $packId; /** @var int */ public $chunkIndex; /** @var int */ public $progress; /** @var string */ public $data; protected function decodePayload(){ $this->packId = $this->getString(); $this->chunkIndex = $this->getLInt(); $this->progress = $this->getLLong(); $this->data = $this->get($this->getLInt()); } protected function encodePayload(){ $this->putString($this->packId); $this->putLInt($this->chunkIndex); $this->putLLong($this->progress); $this->putLInt(strlen($this->data)); $this->put($this->data); } public function handle(NetworkSession $session) : bool{ return $session->handleResourcePackChunkData($this); } }