示例#1
0
文件: Packet.cs 项目: dredge20/c-raft
 public override void Read(BigEndianStream stream)
 {
     EntityId = stream.ReadInt();
     Type = stream.ReadSByte();
     X = (double)stream.ReadInt() / 32.0d;
     Y = (double)stream.ReadInt() / 32.0d;
     Z = (double)stream.ReadInt() / 32.0d;
 }
示例#2
0
文件: Packet.cs 项目: Farkie/c-raft
 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();
 }
示例#3
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();
                }
            }
        }
示例#4
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);
        }
示例#5
0
文件: Packet.cs 项目: dredge20/c-raft
 public override void Read(BigEndianStream stream)
 {
     X = stream.ReadInt();
     Y = stream.ReadSByte();
     Z = stream.ReadInt();
     Face = (BlockFace)stream.ReadSByte();
     Item = ItemStack.Read(stream);
 }
示例#6
0
 public override void Read(BigEndianStream stream)
 {
     EntityId = stream.ReadInt();
     DeltaX = stream.ReadSByte();
     DeltaY = stream.ReadSByte();
     DeltaZ = stream.ReadSByte();
 }
示例#7
0
 public override void Read(BigEndianStream stream)
 {
     PlayerId = stream.ReadInt();
     Action = (ActionType)stream.ReadSByte();
 }
示例#8
0
 public override void Read(BigEndianStream stream)
 {
     X = stream.ReadInt();
     Y = stream.ReadSByte();
     Z = stream.ReadInt();
     Type = stream.ReadByte();
     Data = stream.ReadByte();
 }
示例#9
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);
 }
示例#10
0
 public override void Read(BigEndianStream stream)
 {
     WindowId = stream.ReadSByte();
     ProgressBar = stream.ReadShort();
     Value = stream.ReadShort();
 }
示例#11
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();
 }
示例#12
0
 public override void Read(BigEndianStream stream)
 {
     ProtocolOrEntityId = stream.ReadInt();
     Username = stream.ReadString16(16);
     MapSeed = stream.ReadLong();
     ServerMode = stream.ReadInt();
     Dimension = stream.ReadSByte();
     Unknown = stream.ReadSByte();
     WorldHeight = stream.ReadByte();
     MaxPlayers = stream.ReadByte();
 }
示例#13
0
 public override void Read(BigEndianStream stream)
 {
     X = stream.ReadDouble();
     Y = stream.ReadDouble();
     Z = stream.ReadDouble();
     Radius = stream.ReadFloat();
     Offsets = new sbyte[stream.ReadInt(), 3];
     for (int i = 0; i < Offsets.GetLength(0); i++)
     {
         Offsets[i, 0] = stream.ReadSByte();
         Offsets[i, 1] = stream.ReadSByte();
         Offsets[i, 2] = stream.ReadSByte();
     }
 }
示例#14
0
文件: Packet.cs 项目: dredge20/c-raft
 public override void Read(BigEndianStream stream)
 {
     ProtocolOrEntityId = stream.ReadInt();
     Username = stream.ReadString16(16);
     MapSeed = stream.ReadLong();
     Dimension = stream.ReadSByte();
 }
示例#15
0
文件: Packet.cs 项目: dredge20/c-raft
 public override void Read(BigEndianStream stream)
 {
     X = stream.ReadInt();
     Y = stream.ReadInt();
     Z = stream.ReadInt();
     Instrument = stream.ReadSByte();
     Pitch = stream.ReadSByte();
 }
示例#16
0
 public override void Read(BigEndianStream stream)
 {
     World = stream.ReadSByte();
     Unknown = stream.ReadSByte();
     CreativeMode = stream.ReadSByte();
     WorldHeight = stream.ReadShort();
     MapSeed = stream.ReadLong();
 }
示例#17
0
 public override void Read(BigEndianStream stream)
 {
     WindowId = stream.ReadSByte();
     Slot = stream.ReadShort();
     Item = ItemStack.Read(stream);
 }
示例#18
0
 public override void Read(BigEndianStream stream)
 {
     PlayerId = stream.ReadInt();
     Animation = stream.ReadSByte();
 }
示例#19
0
 public override void Read(BigEndianStream stream)
 {
     WindowId = stream.ReadSByte();
     Transaction = stream.ReadShort();
     Accepted = stream.ReadBool();
 }
示例#20
0
 public override void Read(BigEndianStream stream)
 {
     EntityId = stream.ReadInt();
     Type = (MobType)stream.ReadByte();
     X = (double)stream.ReadInt() / 32.0d;
     Y = (double)stream.ReadInt() / 32.0d;
     Z = (double)stream.ReadInt() / 32.0d;
     Yaw = stream.ReadSByte();
     Pitch = stream.ReadSByte();
     Data = stream.ReadMetaData();
 }
示例#21
0
 public override void Read(BigEndianStream stream)
 {
     PlayerId = stream.ReadInt();
     InBed = stream.ReadSByte();
     X = stream.ReadInt();
     Y = stream.ReadSByte();
     Z = stream.ReadInt();
 }
示例#22
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();
 }
示例#23
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);
 }
示例#24
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();
 }
示例#25
0
 public override void Read(BigEndianStream stream)
 {
     WindowId = stream.ReadSByte();
 }
示例#26
0
 public override void Read(BigEndianStream stream)
 {
     WindowId = stream.ReadSByte();
     InventoryType = (InterfaceType)stream.ReadSByte();
     WindowTitle = stream.ReadString16(100);
     SlotCount = stream.ReadSByte();
 }
示例#27
0
 public override void Read(BigEndianStream stream)
 {
     EntityId = stream.ReadInt();
     Yaw = stream.ReadSByte();
     Pitch = stream.ReadSByte();
 }
示例#28
0
 public override void Read(BigEndianStream stream)
 {
     X = stream.ReadInt();
     Y = stream.ReadSByte();
     Z = stream.ReadInt();
     Face = (BlockFace)stream.ReadSByte();
     Item = ItemStack.Read(stream);
     //amount in hand and durability are handled int ItemStack.Read
 }
示例#29
0
 public override void Read(BigEndianStream stream)
 {
     EntityId = stream.ReadInt();
     EntityStatus = stream.ReadSByte();
 }
示例#30
0
 public override void Read(BigEndianStream stream)
 {
     Action = (DigAction)stream.ReadByte();
     X = stream.ReadInt();
     Y = stream.ReadSByte();
     Z = stream.ReadInt();
     Face = stream.ReadSByte();
 }