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) {
     Dimension = wSock.readInt();
     Difficulty = wSock.readByte();
     Gamemode = wSock.readByte();
     LevelType = wSock.readString();
 }
        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.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 #5
0
 public void Read(Wrapped wSock) {
     JSONData = wSock.readString();
 }
Beispiel #6
0
 public void Read(Wrapped wSock) {
     Channel = wSock.readString();
     Length = wSock.readShort();
     Data = wSock.readByteArray(Length);
 }
Beispiel #7
0
 public void Read(Wrapped wSock) {
     Text = wSock.readString();
 }
Beispiel #8
0
 public void Read(Wrapped wSock) {
     Name = wSock.readString();
 }
Beispiel #9
0
 public void Read(Wrapped wSock) {
     ProtocolVersion = wSock.readVarInt();
     ServerAddress = wSock.readString();
     ServerPort = wSock.readShort();
     NextState = wSock.readVarInt();
 }
Beispiel #10
0
 public void Read(Wrapped wSock) {
     Windowid = wSock.readByte();
     InventoryType = wSock.readByte();
     Windowtitle = wSock.readString();
     NumberofSlots = wSock.readByte();
     Useprovidedwindowtitle = wSock.readBool();
     EntityID = wSock.readInt();
 }
Beispiel #11
0
 public void Read(Wrapped wSock) {
     Particlename = wSock.readString();
     X = wSock.readFloat();
     Y = wSock.readFloat();
     Z = wSock.readFloat();
     OffsetX = wSock.readFloat();
     OffsetY = wSock.readFloat();
     OffsetZ = wSock.readFloat();
     Particledata = wSock.readFloat();
     Numberofparticles = wSock.readInt();
 }
Beispiel #12
0
 public void Read(Wrapped wSock) {
     SoundName = wSock.readString();
     EffectpositionX = wSock.readInt();
     EffectpositionY = wSock.readInt();
     EffectpositionZ = wSock.readInt();
     Volume = wSock.readFloat();
     Pitch = wSock.readByte();
 }
Beispiel #13
0
 public void Read(Wrapped wSock) {
     JSONResponse = wSock.readString();
 }
Beispiel #14
0
 public void Read(Wrapped wSock) {
     UUID = wSock.readString();
     Username = wSock.readString();
 }
Beispiel #15
0
 public void Read(Wrapped wSock) {
     EntityID = wSock.readVarInt();
     Title = wSock.readString();
     X = wSock.readInt();
     Y = wSock.readInt();
     Z = wSock.readInt();
     Direction = wSock.readInt();
 }
Beispiel #16
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 #17
0
 public void Read(Wrapped wSock) {
     Reason = wSock.readString();
 }
Beispiel #18
0
        public void Read(Wrapped wSock) {
            Entries = new Dictionary<string, int>();
            Count = wSock.readVarInt();

            for (int i = 0; i < Count; i++) {
                string name = wSock.readString();
                int value = wSock.readVarInt();

                Entries.Add(name, value);
            }
        }
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) {
     Message = wSock.readString();
 }
Beispiel #21
0
 public void Read(Wrapped wSock) {
     Locale = wSock.readString();
     Viewdistance = wSock.readSByte();
     Chatflags = wSock.readSByte();
     Chatcolours = wSock.readBool();
     Difficulty = wSock.readSByte();
     ShowCape = wSock.readBool();
 }
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) {
     EntityID = wSock.readInt();
     Gamemode = wSock.readByte();
     Dimension = wSock.readSByte();
     Difficulty = wSock.readByte();
     MaxPlayers = wSock.readByte();
     LevelType = wSock.readString();
 }
Beispiel #24
0
        public void Read(Wrapped wSock) {
            Count = wSock.readVarInt();
            Matches = new string[Count];

            for (int i = 0; i < Count; i++)
                Matches[i] = wSock.readString();
        }
Beispiel #25
0
 public void Read(Wrapped wSock) {
     Dimension = wSock.readInt(); // -- Only possible values for this are -1, 0, and 1.. No reason for it to be an int and waste 4 bytes. Thanks mojang.
     Difficulty = wSock.readByte();
     Gamemode = wSock.readByte();
     LevelType = wSock.readString();
 }
Beispiel #26
0
 public void Read(Wrapped wSock) {
     Objectivename = wSock.readString();
     Objectivevalue = wSock.readString();
     Create = wSock.readSByte();
 }
Beispiel #27
0
 public void Read(Wrapped wSock) {
     ServerID = wSock.readString();
     PublicLength = wSock.readShort();
     PublicKey = wSock.readByteArray(PublicLength);
     VerifyLength = wSock.readShort();
     VerifyToken = wSock.readByteArray(VerifyLength);
 }
Beispiel #28
0
 public void Read(Wrapped wSock) {
     ItemName = wSock.readString();
     Update = wSock.readSByte();
     ScoreName = wSock.readString();
     Value = wSock.readInt();
 }
Beispiel #29
0
 public void Read(Wrapped wSock) {
     Position = wSock.readSByte();
     ScoreName = wSock.readString();
 }
Beispiel #30
0
 public void Read(Wrapped wSock) {
     JSONData = wSock.readString();
     Position = wSock.readSByte();
 }