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