public override UInt16 Read() { var MinecraftByte = new MinecraftByte(Stream); var value = (ushort)( (MinecraftByte.Read() << 8) | MinecraftByte.Read()); return(value); }
public override UInt32 Read() { var Uint8 = new MinecraftByte(Stream); var value = (UInt32)( (Uint8.Read() << 24) | (Uint8.Read() << 16) | (Uint8.Read() << 8) | Uint8.Read()); return(value); }
public override Metadata Read() { var v = new Metadata(); var v2 = new Dictionary <int, Metadata.MetadataInfo>(); var vi = new MinecraftVarInt(Stream); var b = new MinecraftByte(Stream); var func = typeof(MinecraftPacket).GetMethod("ReadFromStream"); while (true) { byte val = b.Read(); if (val == 0xff) { break; } var t = Types.Forward[vi.Read()]; v2.Add(val, new Metadata.MetadataInfo() { Type = t, value = func.MakeGenericMethod(t).Invoke(null, new object[] { Stream }) }); } v.Infos = v2; return(v); }
public override ItemStack Read() { var Uint8 = new MinecraftByte(Stream); var ItemId = new MinecraftShort(Stream).Read(); if (ItemId != -1) { var Count = Uint8.Read(); //NBT Uint8.Read(); //Just Read Out the NBT ItemStack value = ItemStack.GetItem(ItemId); value.ItemCount = Count; value.SetNbt(new MinecraftNbtCompound(Stream).Read()); return(value); } else { return(ItemStack.Null); } }
public override UInt64 Read() { var UInt8 = new MinecraftByte(Stream); var v1 = (ulong)UInt8.Read(); var v2 = (ulong)UInt8.Read(); var v3 = (ulong)UInt8.Read(); var v4 = (ulong)UInt8.Read(); var v5 = (ulong)UInt8.Read(); var v6 = (ulong)UInt8.Read(); var v7 = (ulong)UInt8.Read(); var v8 = (ulong)UInt8.Read(); var value = unchecked ( (v1 << 56) | (v2 << 48) | (v3 << 40) | (v4 << 32) | (v5 << 24) | (v6 << 16) | (v7 << 8) | (v8)); return(value); }
public override VarInt Read() { var MinecraftByte = new MinecraftByte(Stream); var v = 0; var size = 0; int b; while (((b = MinecraftByte.Read()) & 0x80) == 0x80) { if (b == -1) { throw new EndOfStreamException(); } v |= (b & 0x7F) << (size++ *7); if (size > 5) { throw new IOException("VarInt too long. Hehe that's punny."); } } var value = (v | ((b & 0x7F) << (size * 7))); return(value); }