Esempio n. 1
0
        internal ItemStack(BigEndianStream stream)
        {
            Type = stream.ReadShort();
            if (Type >= 0)
            {
                Count      = stream.ReadSByte();
                Durability = stream.ReadShort();

                // TODO: Implement extra data read (enchantment) and items
                if (Durability > 0 || IsEnchantable())
                {
                    stream.ReadShort();
                }
            }
        }
Esempio n. 2
0
        public static ItemInventory GetInstance(BigEndianStream stream)
        {
            ItemInventory item = Void;
            Type          itemClass;
            short         type = stream.ReadShort();

            if (type >= 0)
            {
                if (_itemClasses.TryGetValue(type, out itemClass))
                {
                    item            = (ItemInventory)itemClass.GetConstructor(Type.EmptyTypes).Invoke(null);
                    item.Count      = stream.ReadSByte();
                    item.Durability = stream.ReadShort();
                    // TODO: Implement extra data read (enchantment) and items
                    //if (item.Durability > 0 || item.IsEnchantable)
                    stream.ReadShort();
                }
            }
            return(item);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
 public override void Read(BigEndianStream stream)
 {
     WindowId = stream.ReadSByte();
     ProgressBar = stream.ReadShort();
     Value = stream.ReadShort();
 }
Esempio n. 5
0
 public override void Read(BigEndianStream stream)
 {
     X = stream.ReadInt();
     Y = stream.ReadShort();
     Z = stream.ReadInt();
     Lines = new string[4];
     for (int i = 0; i < Lines.Length; i++)
         Lines[i] = stream.ReadString16(25);
 }
Esempio n. 6
0
 public override void Read(BigEndianStream stream)
 {
     WindowId = stream.ReadSByte();
     Transaction = stream.ReadShort();
     Accepted = stream.ReadBool();
 }
Esempio n. 7
0
 public override void Read(BigEndianStream stream)
 {
     Health = stream.ReadShort();
     Food = stream.ReadShort();
     FoodSaturation = stream.ReadFloat();
 }
Esempio n. 8
0
 public override void Read(BigEndianStream stream)
 {
     EntityId = stream.ReadInt();
     Slot = stream.ReadShort();
     ItemId = stream.ReadShort();
     Durability = stream.ReadShort();
 }
Esempio n. 9
0
 public override void Read(BigEndianStream stream)
 {
     EntityId = stream.ReadInt();
     VelocityX = stream.ReadShort();
     VelocityY = stream.ReadShort();
     VelocityZ = stream.ReadShort();
 }
Esempio n. 10
0
 public override void Read(BigEndianStream stream)
 {
     PlayerName = stream.ReadString16(16);
     Online = stream.ReadBool();
     Ping = stream.ReadShort();
 }
Esempio n. 11
0
 public override void Read(BigEndianStream stream)
 {
     Slot = stream.ReadShort();
     ItemID = stream.ReadShort();
     Quantity = stream.ReadShort();
     Damage = stream.ReadShort();
 }
Esempio n. 12
0
 public override void Read(BigEndianStream stream)
 {
     X = stream.ReadInt();
     Z = stream.ReadInt();
     short length = stream.ReadShort();
     Coords = new short[length];
     Types = new sbyte[length];
     Metadata = new sbyte[length];
     for (int i = 0; i < Coords.Length; i++)
         Coords[i] = stream.ReadShort();
     for (int i = 0; i < Types.Length; i++)
         Types[i] = stream.ReadSByte();
     for (int i = 0; i < Metadata.Length; i++)
         Metadata[i] = stream.ReadSByte();
 }
Esempio n. 13
0
 public override void Read(BigEndianStream stream)
 {
     EntityId = stream.ReadInt();
     PlayerName = stream.ReadString16(16);
     X = (double)stream.ReadInt() / 32.0d;
     Y = (double)stream.ReadInt() / 32.0d;
     Z = (double)stream.ReadInt() / 32.0d;
     Yaw = stream.ReadSByte();
     Pitch = stream.ReadSByte();
     CurrentItem = stream.ReadShort();
 }
Esempio n. 14
0
 public override void Read(BigEndianStream stream)
 {
     UnknownConstantValue = stream.ReadShort();
     UnknownMapId = stream.ReadShort();
     TextLength = stream.ReadByte();
     Text = stream.ReadBytes(TextLength);
 }
Esempio n. 15
0
 public override void Read(BigEndianStream stream)
 {
     Slot = stream.ReadShort();
 }
Esempio n. 16
0
 public override void Read(BigEndianStream stream)
 {
     EntityId = stream.ReadInt();
     X = stream.ReadInt();
     Y = stream.ReadInt();
     Z = stream.ReadInt();
     Count = stream.ReadShort();
 }
Esempio n. 17
0
 public override void Read(BigEndianStream stream)
 {
     WindowId = stream.ReadSByte();
     Slot = stream.ReadShort();
     RightClick = stream.ReadBool();
     Transaction = stream.ReadShort();
     Shift = stream.ReadBool();
     Item = ItemStack.Read(stream);
 }
Esempio n. 18
0
 public override void Read(BigEndianStream stream)
 {
     World = stream.ReadSByte();
     Unknown = stream.ReadSByte();
     CreativeMode = stream.ReadSByte();
     WorldHeight = stream.ReadShort();
     MapSeed = stream.ReadLong();
 }
Esempio n. 19
0
 public override void Read(BigEndianStream stream)
 {
     WindowId = stream.ReadSByte();
     Items = new ItemStack[stream.ReadShort()];
     for (int i = 0; i < Items.Length; i++)
         Items[i] = ItemStack.Read(stream);
 }
Esempio n. 20
0
 public override void Read(BigEndianStream stream)
 {
     Health = stream.ReadShort();
 }
Esempio n. 21
0
 public override void Read(BigEndianStream stream)
 {
     EntityId = stream.ReadInt();
     Effect = (EntityEffects)stream.ReadByte();
     Amplifier = stream.ReadByte();
     Duration = stream.ReadShort();
 }
Esempio n. 22
0
 public override void Read(BigEndianStream stream)
 {
     EntityId = stream.ReadInt();
     ItemId = stream.ReadShort();
     Count = stream.ReadSByte();
     Durability = stream.ReadShort();
     X = (double)stream.ReadInt() / 32.0d;
     Y = (double)stream.ReadInt() / 32.0d;
     Z = (double)stream.ReadInt() / 32.0d;
     Yaw = stream.ReadSByte();
     Pitch = stream.ReadSByte();
     Roll = stream.ReadSByte();
 }
Esempio n. 23
0
 public override void Read(BigEndianStream stream)
 {
     WindowId = stream.ReadSByte();
     Slot = stream.ReadShort();
     Item = ItemStack.Read(stream);
 }
Esempio n. 24
0
 public override void Read(BigEndianStream stream)
 {
     EntityId = stream.ReadInt();
     Type = (ObjectType)stream.ReadSByte();
     X = (double)stream.ReadInt() / 32.0d; // ((double)intX / 32.0d) => representation of X as double
     Y = (double)stream.ReadInt() / 32.0d;
     Z = (double)stream.ReadInt() / 32.0d;
     UnknownFlag = stream.ReadInt();
     UnknownA = stream.ReadShort();
     UnknownB = stream.ReadShort();
     UnknownC = stream.ReadShort();
 }