public void ReadPacket(IMinecraftStream stream) { ItemID = stream.ReadInt16(); Metadata = stream.ReadInt16(); byte length = stream.ReadUInt8(); Data = stream.ReadUInt8Array(length); }
public static MetadataDictionary FromStream(IMinecraftStream stream) { var value = new MetadataDictionary(); while (true) { byte key = stream.ReadUInt8(); if (key == 127) break; byte type = (byte)((key & 0xE0) >> 5); byte index = (byte)(key & 0x1F); var entry = EntryTypes[type](); entry.FromStream(stream); entry.Index = index; value[index] = entry; } return value; }
public IPacket ReadPacket(IMinecraftStream stream, bool serverbound = true) { var id = stream.ReadUInt8(); Type type; if (serverbound) { type = ServerboundPackets[id]; } else { type = ClientboundPackets[id]; } if (type == null) { throw new NotSupportedException("Unable to read packet type 0x" + id.ToString("X2")); } var instance = (IPacket)Activator.CreateInstance(type); instance.ReadPacket(stream); return(instance); }
public static MetadataDictionary FromStream(IMinecraftStream stream) { var value = new MetadataDictionary(); while (true) { byte key = stream.ReadUInt8(); if (key == 127) { break; } byte type = (byte)((key & 0xE0) >> 5); byte index = (byte)(key & 0x1F); var entry = EntryTypes[type](); entry.FromStream(stream); entry.Index = index; value[index] = entry; } return(value); }
public override void FromStream(IMinecraftStream stream) { Value = stream.ReadUInt8(); }