Esempio n. 1
0
 public void ReadPacket(MinecraftStream stream)
 {
     EntityId = stream.ReadInt32();
     LevelType = stream.ReadString();
     GameMode = (GameMode)stream.ReadUInt8();
     Dimension = (Dimension)stream.ReadInt8();
     Difficulty = (Difficulty)stream.ReadUInt8();
     Discarded = stream.ReadUInt8();
     MaxPlayers = stream.ReadUInt8();
 }
Esempio n. 2
0
        public static MetadataDictionary FromStream(MinecraftStream 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;
        }
Esempio n. 3
0
        public static MetadataDictionary FromStream(MinecraftStream 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);
        }
Esempio n. 4
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     EntityId = stream.ReadVarInt();
     Type = stream.ReadUInt8();
     X = stream.ReadInt32();
     Y = stream.ReadInt32();
     Z = stream.ReadInt32();
     Yaw = stream.ReadUInt8();
     Pitch = stream.ReadUInt8();
     HeadYaw = stream.ReadUInt8();
     VelocityX = stream.ReadInt16();
     VelocityY = stream.ReadInt16();
     VelocityZ = stream.ReadInt16();
     Metadata = MetadataDictionary.FromStream(stream);
     return mode;
 }
Esempio n. 5
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     EntityId = stream.ReadVarInt();
     PlayerUuid = new Guid(stream.ReadUInt8Array(16)); 
     PlayerName = stream.ReadString();
     X = stream.ReadInt32();
     Y = stream.ReadInt32();
     Z = stream.ReadInt32();
     Yaw = stream.ReadUInt8();
     Pitch = stream.ReadUInt8();
     HeldItem = stream.ReadInt16();
     Metadata = MetadataDictionary.FromStream(stream);
     return mode;
 }
Esempio n. 6
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     X = stream.ReadDouble();
     Y = stream.ReadDouble();
     Z = stream.ReadDouble();
     Yaw = stream.ReadSingle();
     Pitch = stream.ReadSingle();
     Flags = new PositionFlags();
     Flags.Unpack(stream.ReadUInt8());
     return mode;
 }
Esempio n. 7
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     Message = new ChatMessage(stream.ReadString());
     Message.Position = (ChatPosition) stream.ReadUInt8();
     return mode;
 }
Esempio n. 8
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     Locale = stream.ReadString();
     ViewDistance = stream.ReadUInt8();
     var flags = stream.ReadUInt8();
     ChatFlags = (ChatMode)(flags & 0x3);
     ColorEnabled = stream.ReadBoolean();
     Difficulty = (Difficulty)stream.ReadUInt8();
     ShowCape = stream.ReadBoolean();
     return mode;
 }
Esempio n. 9
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     X = stream.ReadInt32();
     Y = stream.ReadUInt8();
     Z = stream.ReadInt32();
     Face = (BlockFace)stream.ReadUInt8();
     HeldItem = ItemStack.FromStream(stream);
     CursorX = stream.ReadInt8();
     CursorY = stream.ReadInt8();
     CursorZ = stream.ReadInt8();
     return mode;
 }
Esempio n. 10
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     TeamName = stream.ReadString();
     PacketMode = (TeamMode)stream.ReadUInt8();
     if (PacketMode == TeamMode.CreateTeam || PacketMode == TeamMode.UpdateTeam)
     {
         DisplayName = stream.ReadString();
         TeamPrefix = stream.ReadString();
         TeamSuffix = stream.ReadString();
         EnableFriendlyFire = stream.ReadBoolean();
     }
     if (PacketMode == TeamMode.CreateTeam || PacketMode == TeamMode.AddPlayers ||
         PacketMode == TeamMode.RemovePlayers)
     {
         var playerCount = stream.ReadInt16();
         Players = new string[playerCount];
         for (int i = 0; i < playerCount; i++)
             Players[i] = stream.ReadString();
     }
     return mode;
 }
Esempio n. 11
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     WindowId = stream.ReadUInt8();
     InventoryType = stream.ReadUInt8();
     WindowTitle = stream.ReadString();
     SlotCount = stream.ReadUInt8();
     UseProvidedTitle = stream.ReadBoolean();
     if (InventoryType == 11)
         EntityId = stream.ReadInt32();
     return mode;
 }
Esempio n. 12
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     EntityId = stream.ReadVarInt();
     Type = stream.ReadUInt8();
     X = stream.ReadInt32();
     Y = stream.ReadInt32();
     Z = stream.ReadInt32();
     return mode;
 }
Esempio n. 13
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     State = (GameState)stream.ReadUInt8();
     Value = stream.ReadSingle();
     return mode;
 }
Esempio n. 14
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     SoundName = stream.ReadString();
     X = stream.ReadInt32() / 8;
     Y = stream.ReadInt32() / 8;
     Z = stream.ReadInt32() / 8;
     Volume = stream.ReadSingle();
     Pitch = stream.ReadUInt8();
     return mode;
 }
Esempio n. 15
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     EffectId = stream.ReadInt32();
     X = stream.ReadInt32();
     Y = stream.ReadUInt8();
     Z = stream.ReadInt32();
     Data = stream.ReadInt32();
     DisableRelativeVolume = stream.ReadBoolean();
     return mode;
 }
Esempio n. 16
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     Position = (ScoreboardPosition)stream.ReadUInt8();
     ScoreName = stream.ReadString();
     return mode;
 }
Esempio n. 17
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     WindowId = stream.ReadInt8();
     SlotIndex = stream.ReadInt16();
     MouseButton = stream.ReadUInt8();
     TransactionId = stream.ReadInt16();
     Mode = stream.ReadUInt8();
     ClickedItem = ItemStack.FromStream(stream);
     if (Mode == 0)
     {
         if (MouseButton == 0)
         {
             if (SlotIndex == -999)
                 Action = ClickAction.DropAll;
             else
                 Action = ClickAction.LeftClick;
         }
         else if (MouseButton == 1)
         {
             if (SlotIndex == -999)
                 Action = ClickAction.Drop;
             else
                 Action = ClickAction.RightClick;
         }
         else
             Action = ClickAction.Invalid;
     }
     else if (Mode == 1)
     {
         if (MouseButton == 0)
             Action = ClickAction.ShiftLeftClick;
         else if (MouseButton == 1)
             Action = ClickAction.ShiftRightClick;
         else
             Action = ClickAction.Invalid;
     }
     else if (Mode == 2)
     {
         if (MouseButton == 0)
             Action = ClickAction.NumKey1;
         else if (MouseButton == 1)
             Action = ClickAction.NumKey2;
         else if (MouseButton == 2)
             Action = ClickAction.NumKey3;
         else if (MouseButton == 3)
             Action = ClickAction.NumKey4;
         else if (MouseButton == 4)
             Action = ClickAction.NumKey5;
         else if (MouseButton == 5)
             Action = ClickAction.NumKey6;
         else if (MouseButton == 6)
             Action = ClickAction.NumKey7;
         else if (MouseButton == 7)
             Action = ClickAction.NumKey8;
         else if (MouseButton == 8)
             Action = ClickAction.NumKey9;
         else
             Action = ClickAction.Invalid;
     }
     else if (Mode == 3)
     {
         if (MouseButton == 2)
             Action = ClickAction.MiddleClick;
         else
             Action = ClickAction.Invalid;
     }
     else if (Mode == 4)
     {
         if (SlotIndex == -999)
         {
             if (Mode == 0)
                 Action = ClickAction.LeftClickEdgeWithEmptyHand;
             else if (Mode == 1)
                 Action = ClickAction.RightClickEdgeWithEmptyHand;
             else
                 Action = ClickAction.Invalid;
         }
         else
         {
             if (Mode == 0)
                 Action = ClickAction.Drop;
             else if (Mode == 1)
                 Action = ClickAction.DropAll;
             else
                 Action = ClickAction.Invalid;
         }
     }
     else if (Mode == 5)
     {
         if (MouseButton == 0)
             Action = ClickAction.StartLeftClickPaint;
         else if (MouseButton == 1)
             Action = ClickAction.LeftMousePaintProgress;
         else if (MouseButton == 2)
             Action = ClickAction.EndLeftMousePaint;
         else if (MouseButton == 4)
             Action = ClickAction.StartRightClickPaint;
         else if (MouseButton == 5)
             Action = ClickAction.RightMousePaintProgress;
         else if (MouseButton == 6)
             Action = ClickAction.EndRightMousePaint;
         else
             Action = ClickAction.Invalid;
     }
     else if (Mode == 6)
         Action = ClickAction.DoubleClick;
     else
         Action = ClickAction.Invalid;
     return mode;
 }
Esempio n. 18
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     Action = (BlockAction)stream.ReadInt8();
     X = stream.ReadInt32();
     Y = stream.ReadUInt8();
     Z = stream.ReadInt32();
     Face = (BlockFace)stream.ReadInt8();
     return mode;
 }
Esempio n. 19
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     WindowId = stream.ReadUInt8();
     SlotIndex = stream.ReadInt16();
     Item = ItemStack.FromStream(stream);
     return mode;
 }
Esempio n. 20
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     EntityId = stream.ReadInt32();
     GameMode = (GameMode)stream.ReadUInt8();
     Dimension = (Dimension)stream.ReadInt8();
     Difficulty = (Difficulty)stream.ReadUInt8();
     MaxPlayers = stream.ReadUInt8();
     LevelType = stream.ReadString();
     ReducdedDebug = stream.ReadBoolean();
     return mode;
 }
Esempio n. 21
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     WindowId = stream.ReadUInt8();
     short count = stream.ReadInt16();
     Items = new ItemStack[count];
     for (int i = 0; i < count; i++)
         Items[i] = ItemStack.FromStream(stream);
     return mode;
 }
Esempio n. 22
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     Change = (StatusChange)stream.ReadUInt8();
     return mode;
 }
Esempio n. 23
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     WindowId = stream.ReadUInt8();
     PropertyId = stream.ReadInt16();
     Value = stream.ReadInt16();
     return mode;
 }
Esempio n. 24
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     Dimension = (Dimension)stream.ReadInt32();
     Difficulty = (Difficulty)stream.ReadUInt8();
     GameMode = (GameMode)stream.ReadUInt8();
     LevelType = stream.ReadString();
     return mode;
 }
Esempio n. 25
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     WindowId = stream.ReadUInt8();
     ActionNumber = stream.ReadInt16();
     Accepted = stream.ReadBoolean();
     return mode;
 }
Esempio n. 26
0
        public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction) {
            if (direction == PacketDirection.Serverbound)
                return mode; // -- Server bound has no fields.

            EntityId = stream.ReadVarInt();
            Animation = (AnimationType) stream.ReadUInt8();
            return mode;
        }
Esempio n. 27
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     X = stream.ReadInt32();
     Y = stream.ReadInt16();
     Z = stream.ReadInt32();
     Action = stream.ReadUInt8();
     var length = stream.ReadInt16();
     var data = stream.ReadUInt8Array(length);
     Nbt = new NbtFile();
     Nbt.LoadFromBuffer(data, 0, length, NbtCompression.GZip, null);
     return mode;
 }
Esempio n. 28
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     EntityId = stream.ReadVarInt();
     Type = stream.ReadUInt8();
     X = stream.ReadInt32();
     Y = stream.ReadInt32();
     Z = stream.ReadInt32();
     Yaw = stream.ReadUInt8();
     Pitch = stream.ReadUInt8();
     Data = stream.ReadInt32();
     if (Data != 0)
     {
         SpeedX = stream.ReadInt16();
         SpeedY = stream.ReadInt16();
         SpeedZ = stream.ReadInt16();
     }
     return mode;
 }
Esempio n. 29
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     Flags = stream.ReadUInt8();
     FlyingSpeed = stream.ReadSingle();
     WalkingSpeed = stream.ReadSingle();
     return mode;
 }
Esempio n. 30
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     EntityId = stream.ReadVarInt();
     Title = stream.ReadString();
     Location = stream.ReadPosition();
     Direction = stream.ReadUInt8();
     return mode;
 }
Esempio n. 31
0
 public NetworkMode ReadPacket(MinecraftStream stream, NetworkMode mode, PacketDirection direction)
 {
     Name = stream.ReadString();
     DisplayName = stream.ReadString();
     Mode = (UpdateMode)stream.ReadUInt8();
     return mode;
 }