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) {
     Health = wSock.readFloat();
     Food = wSock.readShort();
     FoodSaturation = wSock.readFloat();
 }
Beispiel #3
0
 public void Read(Wrapped wSock) {
     Sideways = wSock.readFloat();
     Forward = wSock.readFloat();
     Jump = wSock.readBool();
     Unmount = wSock.readBool();
 }
Beispiel #4
0
 public void Read(Wrapped wSock) {
     Yaw = wSock.readFloat();
     Pitch = wSock.readFloat();
     OnGround = wSock.readBool();
 }
Beispiel #5
0
 public void Read(Wrapped wSock) {
     Flags = wSock.readSByte();
     Flyingspeed = wSock.readFloat();
     Walkingspeed = wSock.readFloat();
 }
Beispiel #6
0
 public void Read(Wrapped wSock) {
     Reason = wSock.readByte();
     Value = wSock.readFloat();
 }
Beispiel #7
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 #8
0
            public void Read(Wrapped wSock) {
                ParticleId = wSock.readInt();
                LongDistance = wSock.readBool();
                X = wSock.readFloat();
                Y = wSock.readFloat();
                Z = wSock.readFloat();
                OffsetX = wSock.readFloat();
                OffsetY = wSock.readFloat();
                OffsetZ = wSock.readFloat();
                ParticleData = wSock.readFloat();
                ParticleCount = wSock.readInt();
                Data = new int[ParticleCount];

                for (int i = 0; i < ParticleCount; i++)
                    Data[i] = wSock.readVarInt();
            }
Beispiel #9
0
        public void Read(Wrapped wSock) {
            X = wSock.readFloat();
            Y = wSock.readFloat();
            Z = wSock.readFloat();
            Radius = wSock.readFloat();
            Recordcount = wSock.readInt();
            Records = new sbyte[Recordcount * 3];

            for (int x = 0; x < Records.Length - 1; x++) {
                Records[x] = wSock.readSByte();
            }

            PlayerMotionX = wSock.readFloat();
            PlayerMotionY = wSock.readFloat();
            PlayerMotionZ = wSock.readFloat();
        }
Beispiel #10
0
 public void Read(Wrapped wSock) {
     Experiencebar = wSock.readFloat();
     Level = wSock.readShort();
     TotalExperience = wSock.readShort();
 }
Beispiel #11
0
 public void Read(Wrapped wSock) {
     X = wSock.readDouble();
     Y = wSock.readDouble();
     Z = wSock.readDouble();
     Yaw = wSock.readFloat();
     Pitch = wSock.readFloat();
     Flags = wSock.readSByte();
 }
Beispiel #12
0
 public void Read(Wrapped wSock) {
     Forward = wSock.readFloat();
     Flags = wSock.readByte();
 }
Beispiel #13
0
 public void Read(Wrapped wSock) {
     Target = wSock.readVarInt();
     Type = wSock.readVarInt();
     TargetX = wSock.readFloat();
     TargetY = wSock.readFloat();
     TargetZ = wSock.readFloat();
 }
Beispiel #14
0
 public void Read(Wrapped wSock) {
     Value = wSock.readFloat();
 }
Beispiel #15
0
 public void Read(Wrapped wSock) {
     X = wSock.readDouble();
     Y = wSock.readDouble();
     Z = wSock.readDouble();
     Yaw = wSock.readFloat();
     Pitch = wSock.readFloat();
     OnGround = wSock.readBool();
 }
Beispiel #16
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 #17
0
 public void Read(Wrapped wSock) {
     X = wSock.readFloat();
     Y = wSock.readFloat();
     Z = wSock.readFloat();
     Radius = wSock.readFloat();
     RecordCount = wSock.readInt();
     Records = new sbyte[RecordCount];
     for (int i = 0; i < RecordCount; i++) {
         Records[i] = wSock.readSByte();
     }
     PlayerMotionX = wSock.readFloat();
     PlayerMotionY = wSock.readFloat();
     PlayerMotionZ = wSock.readFloat();
 }