/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader"> The reader. </param> /// <param name="version"> The version. </param> /// <remarks> /// </remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); if (version >= 32) return; #pragma warning disable 618 ProtocolVersion = reader.ReadInt32 (); UserName = reader.ReadString16 (); if (ProtocolVersion != 0) version = ProtocolVersion; //Not used if (version <= 27) reader.ReadInt64 (); if (version >= 23 && version <= 30) Unknown = reader.ReadString16 (); reader.ReadInt32 (); if (version >= 27) reader.ReadInt32 (); else reader.ReadByte (); reader.ReadByte (); reader.ReadByte (); reader.ReadByte (); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader">The reader.</param> /// <param name="version">The version.</param> /// <remarks></remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new System.ArgumentNullException("reader"); ChunkX = reader.ReadInt32(); ChunkZ = reader.ReadInt32(); Size = reader.ReadInt16(); var coordinates = new List<short>(); var types = new List<byte>(); var metadata = new List<byte>(); for (int i = 0; i < Size; i++) { coordinates.Add(reader.ReadInt16()); } for (int i = 0; i < Size; i++) { types.Add(reader.ReadByte()); } for (int i = 0; i < Size; i++) { metadata.Add(reader.ReadByte()); } CoordiateArray = coordinates; TypeArray = types; MetadataArray = metadata; }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader">The reader.</param> /// <param name="version">The version.</param> /// <remarks></remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); CollectedId = reader.ReadInt32(); CollectorId = reader.ReadInt32(); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader"> The reader. </param> /// <param name="version"> The version. </param> /// <remarks> /// </remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); StatisticId = reader.ReadInt32 (); Amount = version >=72 ? reader.ReadInt32() : reader.ReadByte (); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader">The reader.</param> /// <param name="version">The version.</param> /// <remarks></remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new System.ArgumentNullException("reader"); PositionX = reader.ReadInt32(); PositionZ = reader.ReadInt32(); Mode = reader.ReadBoolean(); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader"> The reader. </param> /// <param name="version"> The version. </param> /// <remarks> /// </remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); UserEntity = reader.ReadInt32 (); TargetEntity = reader.ReadInt32 (); LeftClick = reader.ReadBoolean (); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader"> The reader. </param> /// <param name="version"> The version. </param> /// <remarks> /// </remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); EntityId = reader.ReadInt32(); VehicleId = reader.ReadInt32(); if (version >= 72) Leash = reader.ReadBoolean(); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader"> The reader. </param> /// <param name="version"> The version. </param> /// <remarks> /// </remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); EntityId = reader.ReadInt32(); ActionId = reader.ReadByte(); if (version >= 72) Unknown = reader.ReadInt32(); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader"> The reader. </param> /// <param name="version"> The version. </param> /// <remarks> /// </remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); ChunkX = reader.ReadInt32 (); ChunkZ = reader.ReadInt32 (); Unknown = reader.ReadInt16 (); DataArray = reader.ReadBytes(reader.ReadInt32 ()); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader"> The reader. </param> /// <param name="version"> The version. </param> /// <remarks> /// </remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); Status = reader.ReadByte (); PositionX = reader.ReadInt32 (); PositionY = reader.ReadByte (); PositionZ = reader.ReadInt32 (); Face = reader.ReadByte (); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader"> The reader. </param> /// <param name="version"> The version. </param> /// <remarks> /// </remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); EntityId = reader.ReadInt32 (); Unknown = reader.ReadBoolean (); PositionX = reader.ReadInt32 (); PositionY = reader.ReadInt32 (); PositionZ = reader.ReadInt32 (); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader">The reader.</param> /// <param name="version">The version.</param> /// <remarks></remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new System.ArgumentNullException("reader"); EntityId = reader.ReadInt32(); InBed = reader.ReadByte(); PositionX = reader.ReadInt32(); PositionY = reader.ReadByte(); PositionZ = reader.ReadInt32(); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader">The reader.</param> /// <param name="version">The version.</param> /// <remarks></remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); EntityId = reader.ReadInt32(); Title = reader.ReadString16(); PositionX = reader.ReadInt32(); PositionY = reader.ReadInt32(); PositionZ = reader.ReadInt32(); Direction = reader.ReadInt32(); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader">The reader.</param> /// <param name="version">The version.</param> /// <remarks></remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new System.ArgumentNullException("reader"); PositionX = reader.ReadInt32(); PositionY = reader.ReadInt16(); PositionZ = reader.ReadInt32(); Line1 = reader.ReadString16(); Line2 = reader.ReadString16(); Line3 = reader.ReadString16(); Line4 = reader.ReadString16(); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader"> The reader. </param> /// <param name="version"> The version. </param> /// <remarks> /// </remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); PositionX = reader.ReadInt32 (); PositionY = reader.ReadInt16 (); PositionZ = reader.ReadInt32 (); Byte1 = reader.ReadByte (); Byte2 = reader.ReadByte (); if (version >= 38) UnknownInt16 = reader.ReadInt16 (); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader">The reader.</param> /// <param name="version">The version.</param> /// <remarks></remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); PositionX = reader.ReadInt32(); PositionY = reader.ReadByte(); PositionZ = reader.ReadInt32(); if (version >= 38) BlockType = reader.ReadInt16(); else BlockType = reader.ReadByte(); BlockMetadata = reader.ReadByte(); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader">The reader.</param> /// <param name="version">The version.</param> /// <remarks></remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new System.ArgumentNullException("reader"); Name = reader.ReadString16(); PositionX = reader.ReadInt32(); PositionY = reader.ReadInt32(); PositionZ = reader.ReadInt32(); if (version >= 37) Volume = reader.ReadSingle(); else Volume = reader.ReadByte(); Pitch = reader.ReadByte(); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader"> The reader. </param> /// <param name="version"> The version. </param> /// <remarks> /// </remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); EntityId = reader.ReadInt32(); var count = reader.ReadInt32(); Properties = new List<PropertyData>(); for (int i = 0; i < count; i++) { Properties.Add(PropertyData.Read(reader)); } }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader"> The reader. </param> /// <param name="version"> The version. </param> /// <remarks> /// </remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); EntityId = reader.ReadInt32 (); InnerData = MetadataInfo.Read(reader, version); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader">The reader.</param> /// <param name="version">The version.</param> /// <remarks></remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new System.ArgumentNullException("reader"); PositionX = reader.ReadDouble(); PositionY = reader.ReadDouble(); PositionZ = reader.ReadDouble(); Radius = reader.ReadSingle(); var records = new ExplosionRecord[RecordCount = reader.ReadInt32()]; for (int i = 0; i < RecordCount; i++) { var record = new ExplosionRecord(); record.OffsetX = reader.ReadByte(); record.OffsetY = reader.ReadByte(); record.OffsetZ = reader.ReadByte(); records[i] = record; } Records = records; if (version >= 36) { VelocityX = reader.ReadSingle(); VelocityY = reader.ReadSingle(); VelocityZ = reader.ReadSingle(); } }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader">The reader.</param> /// <param name="version">The version.</param> /// <remarks></remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); EntityId = reader.ReadInt32(); Animate = reader.ReadByte(); //Console.WriteLine("Ani: " + EntityId + " " + Animate); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader">The reader.</param> /// <param name="version">The version.</param> /// <remarks></remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new System.ArgumentNullException("reader"); PositionX = reader.ReadInt32(); PositionY = reader.ReadByte(); PositionZ = reader.ReadInt32(); Direction = reader.ReadByte(); Item = ItemStack.Read(reader); if (version >= 34) { BlockX = reader.ReadByte(); BlockY = reader.ReadByte(); BlockZ = reader.ReadByte(); } }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader">The reader.</param> /// <param name="version">The version.</param> /// <remarks></remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); EntityId = reader.ReadInt32(); Yaw = reader.ReadByte(); Pitch = reader.ReadByte(); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader">The reader.</param> /// <param name="version">The version.</param> /// <remarks></remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); EntityId = reader.ReadInt32(); EffectId = reader.ReadByte(); Amplifier = reader.ReadByte(); Duration = reader.ReadInt16(); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader"> The reader. </param> /// <param name="version"> The version. </param> /// <remarks> /// </remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); EntityId = reader.ReadInt32 (); VelocityX = reader.ReadInt16 (); VelocityY = reader.ReadInt16 (); VelocityZ = reader.ReadInt16 (); }
public static MetadataInfo Read(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); byte b = 0; var data = new Dictionary<byte, object> (); while ((b = reader.ReadByte ()) != 127) { switch (b >> 5) { case 0: data.Add(b, reader.ReadByte ()); break; case 1: data.Add(b, reader.ReadInt16 ()); break; case 2: data.Add(b, reader.ReadInt32 ()); break; case 3: data.Add(b, reader.ReadSingle ()); break; case 4: data.Add(b, reader.ReadString16 ()); break; case 5: data.Add(b, ItemStack.Read(reader)); break; case 6: data.Add(b, new EntityInformation { Data1 = reader.ReadInt32 (), Data2 = reader.ReadInt32 (), Data3 = reader.ReadInt32 () }); break; default: break; } } return new MetadataInfo {Data = data}; }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader"> The reader. </param> /// <param name="version"> The version. </param> /// <remarks> /// </remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); EffectId = reader.ReadInt32 (); PositionX = reader.ReadInt32 (); PositionY = reader.ReadByte (); PositionZ = reader.ReadInt32 (); SoundData = reader.ReadInt32 (); if (version >= 47) { NoVolumeDecrease = reader.ReadBoolean (); } else { NoVolumeDecrease = EffectId == 1013; } }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader">The reader.</param> /// <param name="version">The version.</param> /// <remarks></remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); List<int> items = new List<int>(); if (version >= 38) { int count = reader.ReadByte(); for (int i = 0; i < count; i++) { items.Add(reader.ReadInt32()); } } else { items.Add(reader.ReadInt32()); } EntityIds = items; }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader"> The reader. </param> /// <param name="version"> The version. </param> /// <remarks> /// </remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); ItemName = reader.ReadString16(); UpdateRemove = reader.ReadByte(); ScoreName = reader.ReadString16(); Value = reader.ReadInt32(); }
/// <summary> /// Receives the specified reader. /// </summary> /// <param name="reader">The reader.</param> /// <param name="version">The version.</param> /// <remarks></remarks> protected override void OnReceive(BigEndianStream reader, int version) { if (reader == null) throw new ArgumentNullException("reader"); Count = reader.ReadInt16(); DataLength = reader.ReadInt32(); ChunkData = reader.ReadBytes(DataLength); var list = new List<ChunkBulkMetaData>(); for (int i = 0; i < Count; i++) { list.Add(new ChunkBulkMetaData { PositionX = reader.ReadInt32(), PositionZ = reader.ReadInt32(), PrimaryBitmap = reader.ReadInt16(), AddBitmap = reader.ReadInt16(), }); } ChunkMetaData = list; }