public static object[] ReadEntityMetadata(Wrapped wSock) {
            var MetadataDict = new Dictionary<int, object>();

            do {
                var item = wSock.readByte();

                if (item == 127)
                    break;

                var index = item & 0x1F;
                var type = item >> 5;

                switch (type) {
                    case 0:
                        MetadataDict.Add(index, wSock.readByte());
                        break;
                    case 1:
                        MetadataDict.Add(index, wSock.readShort());
                        break;
                    case 2:
                        MetadataDict.Add(index, wSock.readInt());
                        break;
                    case 3:
                        MetadataDict.Add(index, wSock.readFloat());
                        break;
                    case 4:
                        MetadataDict.Add(index, wSock.readString());
                        break;
                    case 5:
                        MetadataDict.Add(index, ReadSlot(wSock));
                        break;
                    case 6:
                        MetadataDict.Add(index, new Vector(wSock.readInt(), wSock.readInt(), wSock.readInt()));
                        break;
                }
            } while (true);

            MetadataDict.OrderBy(o => o.Key); // -- Order the dictionary based on the index values
            return MetadataDict.Values.ToArray(); // -- Return the data as an array.
        }
Beispiel #2
0
 public void Read(Wrapped wSock) {
     Experiencebar = wSock.readFloat();
     Level = wSock.readShort();
     TotalExperience = wSock.readShort();
 }
        public static PropertyData ReadPropertyData(Wrapped wSock) {
            var Data = new PropertyData();

            Data.Key = wSock.readString();
            Data.Value = wSock.readDouble();
            Data.ListLength = wSock.readShort();
            Data.Modifiers = new ModifierData[Data.ListLength];

            for (int x = 0; x < Data.ListLength; x++) 
                Data.Modifiers[x] = ReadModifierData(wSock);
            
            return Data;
        }
Beispiel #4
0
 public void Read(Wrapped wSock) {
     EntityID = wSock.readInt();
     Slot = wSock.readShort();
     Item = WrappedExtension.ReadSlot(wSock);
 }
Beispiel #5
0
        public void Read(Wrapped wSock) {
            EntityID = wSock.readVarInt();
            PlayerUUID = wSock.readString();
            PlayerName = wSock.readString();
            Datacount = wSock.readVarInt();
            Data = new PlayerData[Datacount];

            for (int i = 0; i < Datacount; i++) {
                Data[i].Name = wSock.readString();
                Data[i].Value = wSock.readString();
                Data[i].Signature = wSock.readString();
            }

            X = wSock.readInt();
            Y = wSock.readInt();
            Z = wSock.readInt();
            Yaw = wSock.readSByte();
            Pitch = wSock.readSByte();
            CurrentItem = wSock.readShort();
            Metadata = WrappedExtension.ReadEntityMetadata(wSock);
        }
Beispiel #6
0
 public void Read(Wrapped wSock) {
     Slot = wSock.readShort();
     Clickeditem = WrappedExtension.ReadSlot(wSock);
 }
Beispiel #7
0
 public void Read(Wrapped wSock) {
     SharedLength = wSock.readShort();
     SharedSecret = wSock.readByteArray(SharedLength);
     VerifyLength = wSock.readShort();
     VerifyToken = wSock.readByteArray(VerifyLength);
 }
Beispiel #8
0
        public void Read(Wrapped wSock) {
            WindowID = wSock.readByte();
            Count = wSock.readShort();
            Slotdata = new SlotData[Count];

            for (int x = 0; x < Count; x++)
                Slotdata[x] = WrappedExtension.ReadSlot(wSock);
        }
Beispiel #9
0
 public void Read(Wrapped wSock) {
     WindowID = wSock.readByte();
     Property = wSock.readShort();
     Value = wSock.readShort();
 }
Beispiel #10
0
 public void Read(Wrapped wSock) {
     Chunkcolumncount = wSock.readShort();
     Datalength = wSock.readInt();
     Skylightsent = wSock.readBool();
     Data = wSock.readByteArray(Datalength);
     Metainformation = wSock.readByteArray(Chunkcolumncount * 12);
 }
Beispiel #11
0
 public void Read(Wrapped wSock) {
     WindowID = wSock.readSByte();
     Slot = wSock.readShort();
     Slotdata = WrappedExtension.ReadSlot(wSock);
 }
Beispiel #12
0
 public void Read(Wrapped wSock) {
     X = wSock.readInt();
     Y = wSock.readShort();
     Z = wSock.readInt();
     Byte1 = wSock.readByte();
     Byte2 = wSock.readByte();
     BlockType = wSock.readVarInt();
 }
Beispiel #13
0
        public void Read(Wrapped wSock) {
            ChunkX = wSock.readInt();
            ChunkZ = wSock.readInt();
            Recordcount = wSock.readShort();
            Datasize = wSock.readInt();
            Records = new Record[Recordcount];

            for (int x = 0; x < Recordcount; x++)
                Records[x] = WrappedExtension.ReadRecord(wSock);
        }
Beispiel #14
0
 public void Read(Wrapped wSock) {
     ChunkX = wSock.readInt();
     ChunkZ = wSock.readInt();
     GroundUpcontinuous = wSock.readBool();
     Primarybitmap = (ushort)wSock.readShort();
     Addbitmap = (ushort)wSock.readShort();
     Compressedsize = wSock.readInt();
     Compresseddata = wSock.readByteArray(Compressedsize);
 }
Beispiel #15
0
 public void Read(Wrapped wSock) {
     WindowID = wSock.readSByte();
     Slot = wSock.readShort();
     Button = wSock.readSByte();
     Actionnumber = wSock.readShort();
     Mode = wSock.readSByte();
     Clickeditem = WrappedExtension.ReadSlot(wSock);
 }
Beispiel #16
0
 public void Read(Wrapped wSock) {
     ItemDamage = wSock.readVarInt();
     Length = wSock.readShort();
     Data = wSock.readByteArray(Length);
 }
Beispiel #17
0
 public void Read(Wrapped wSock) {
     WindowID = wSock.readSByte();
     Actionnumber = wSock.readShort();
     Accepted = wSock.readBool();
 }
Beispiel #18
0
 public void Read(Wrapped wSock) {
     ProtocolVersion = wSock.readVarInt();
     ServerAddress = wSock.readString();
     ServerPort = wSock.readShort();
     NextState = wSock.readVarInt();
 }
Beispiel #19
0
 public void Read(Wrapped wSock) {
     X = wSock.readInt();
     Y = wSock.readShort();
     Z = wSock.readInt();
     Line1 = wSock.readString();
     Line2 = wSock.readString();
     Line3 = wSock.readString();
     Line4 = wSock.readString();
 }
Beispiel #20
0
 public void Read(Wrapped wSock) {
     X = wSock.readInt();
     Y = wSock.readShort();
     Z = wSock.readInt();
     Action = wSock.readByte();
     Datalength = wSock.readShort();
     NBTData = wSock.readByteArray(Datalength);
 }
Beispiel #21
0
 public void Read(Wrapped wSock) {
     Channel = wSock.readString();
     Length = wSock.readShort();
     Data = wSock.readByteArray(Length);
 }
Beispiel #22
0
 public void Read(Wrapped wSock) {
     Playername = wSock.readString();
     Online = wSock.readBool();
     Ping = wSock.readShort();
 }
Beispiel #23
0
 public void Read(Wrapped wSock) {
     Health = wSock.readFloat();
     Food = wSock.readShort();
     FoodSaturation = wSock.readFloat();
 }
Beispiel #24
0
        public void Read(Wrapped wSock) {
            TeamName = wSock.readString();
            Mode = wSock.readSByte();

            switch (Mode) {
                case 0:
                    TeamDisplayName = wSock.readString();
                    TeamPrefix = wSock.readString();
                    TeamSuffix = wSock.readString();
                    Friendlyfire = wSock.readSByte();
                    Playercount = wSock.readShort();

                    for (int x = 0; x < Playercount - 1; x++)
                        Players[x] = wSock.readString();
                    break;
                case 2:
                    TeamDisplayName = wSock.readString();
                    TeamPrefix = wSock.readString();
                    TeamSuffix = wSock.readString();
                    Friendlyfire = wSock.readSByte();
                    break;
                case 3:
                    Playercount = wSock.readShort();

                    for (int x = 0; x < Playercount - 1; x++)
                        Players[x] = wSock.readString();
                    break;
                case 4:
                    Playercount = wSock.readShort();

                    for (int x = 0; x < Playercount - 1; x++)
                        Players[x] = wSock.readString();
                    break;
            }
        }
Beispiel #25
0
 public void Read(Wrapped wSock) {
     ServerID = wSock.readString();
     PublicLength = wSock.readShort();
     PublicKey = wSock.readByteArray(PublicLength);
     VerifyLength = wSock.readShort();
     VerifyToken = wSock.readByteArray(VerifyLength);
 }
Beispiel #26
0
 public void Read(Wrapped wSock) {
     X = wSock.readInt();
     Y = wSock.readByte();
     Z = wSock.readInt();
     Direction = wSock.readSByte();
     Helditem = WrappedExtension.ReadSlot(wSock);
     CursorpositionX = wSock.readSByte();
     CursorpositionY = wSock.readSByte();
     CursorpositionZ = wSock.readSByte();
     Slot = wSock.readShort();
 }
        public static SlotData ReadSlot(Wrapped wSock) {
            var Data = new SlotData();
            Data.ID = wSock.readShort();

            if (Data.ID == -1) {
                Data.ID = 0;
                Data.ItemCount = 0;
                Data.ItemDamage = 0;
                return Data;
            }

            Data.ItemCount = wSock.readByte();
            Data.ItemDamage = wSock.readShort();
            var NBTLength = wSock.readShort();

            if (NBTLength == -1)
                return Data;

            Data.NbtData = wSock.readByteArray(NBTLength);
            return Data;
        }
Beispiel #28
0
 public void Read(Wrapped wSock) {
     Slot = wSock.readShort();
 }
        public static ObjectMetadata ReadObjectMetadata(Wrapped wSock) {
            var Data = new ObjectMetadata();
            Data.ObjectID = wSock.readInt();

            if (Data.ObjectID != 0) {
                Data.SpeedX = wSock.readShort();
                Data.SpeedY = wSock.readShort();
                Data.SpeedZ = wSock.readShort();
            }

            return Data;
        }
Beispiel #30
0
 public void Read(Wrapped wSock) {
     EntityID = wSock.readInt();
     EffectID = wSock.readSByte();
     Amplifier = wSock.readSByte();
     Duration = wSock.readShort();
 }