Example #1
0
        public override UInt16 Read()
        {
            var MinecraftByte = new MinecraftByte(Stream);
            var value         = (ushort)(
                (MinecraftByte.Read() << 8) |
                MinecraftByte.Read());

            return(value);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
            }
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }