public override ProtobufPacket Handle(ChunkDataPacket packet) { var metadata = new ChunkColumnMetadata { Coordinates = new Coordinates2D(packet.ChunkX, packet.ChunkZ), PrimaryBitMap = packet.PrimaryBitmap }; Context.ClientReceiveEvent(new ChunkEvent(ChunkExtra.ReadChunk(true, packet.GroundUpContinuous, metadata, new ZInputStream(new MemoryStream(packet.CompressedData)).ReadFully()))); return(null); }
private static ChunkColumnMetadata[] ReadChunkColumnMetadataArray(PacketDataReader reader, int length = 0) { if (length == 0) { length = reader.Read <VarInt>(); } var array = new ChunkColumnMetadata[length]; for (var i = 0; i < length; i++) { array[i] = new ChunkColumnMetadata { Coordinates = new Coordinates2D(reader.Read <int>(), reader.Read <int>()), PrimaryBitMap = reader.Read <ushort>(), AddBitMap = reader.Read <ushort>() }; } return(array); }