public void ReadPacket(IMcStream stream) { ChunkX = stream.ReadInt32(); ChunkZ = stream.ReadInt32(); var length = stream.ReadInt16(); Coordinates = new Coordinates3D[length]; for (var i = 0; i < length; i++) { var value = stream.ReadUInt16(); Coordinates[i] = new Coordinates3D( (value >> 12) & 0xF, value & 0xFF, (value >> 8) & 0xF); } BlockIDs = stream.ReadInt8Array(length); Metadata = stream.ReadInt8Array(length); }