internal MetaData(BigEndianStream rx) { byte x; while ((x = rx.ReadByte()) != 0x7f) { switch (x >> 5) { case 0: Data[x & 0x1f] = rx.ReadByte(); break; case 1: Data[x & 0x1f] = rx.ReadShort(); break; case 2: Data[x & 0x1f] = rx.ReadInt(); break; case 3: Data[x & 0x1f] = rx.ReadFloat(); break; case 4: Data[x & 0x1f] = rx.ReadString16(64); break; default: Data[x & 0x1f] = null; break; } } }
public override void Read(BigEndianStream stream) { int posX = stream.ReadInt(); short posY = stream.ReadShort(); int posZ = stream.ReadInt(); byte sizeX = (byte)(stream.ReadByte() + 1); byte sizeY = (byte)(stream.ReadByte() + 1); byte sizeZ = (byte)(stream.ReadByte() + 1); int o = sizeX * sizeY * sizeZ; Chunk = new Chunk(null, posX, posZ); int len = stream.ReadInt(); byte[] comp = new byte[len]; byte[] data = new byte[o * 5 / 2]; len = stream.Read(comp, 0, len); }
public override void Read(BigEndianStream stream) { Reason = (InvalidReason)stream.ReadByte(); }
public override void Read(BigEndianStream stream) { Statistic = stream.ReadInt(); Amount = stream.ReadByte(); }