/// <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) { byte dataByte = reader.ReadByte(); Flying = (dataByte & 0x1) != 0; InstantBuild = (dataByte & 0x2) != 0; MayFly = (dataByte & 0x4) != 0; Invulnerable = (dataByte & 0x8) != 0; FlyingSpeed = reader.ReadByte(); WalkSpeed = reader.ReadByte(); } else { Flying = reader.ReadBoolean(); InstantBuild = reader.ReadBoolean(); MayFly = reader.ReadBoolean(); Invulnerable = reader.ReadBoolean(); FlyingSpeed = 15; WalkSpeed = 25; } }
/// <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"); Sideways = reader.ReadSingle(); Forward = reader.ReadSingle(); Jump = reader.ReadBoolean(); Unmount = 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 System.ArgumentNullException("reader"); Unknown1 = reader.ReadSingle(); Unknown2 = reader.ReadSingle(); Unknown3 = reader.ReadSingle(); Unknown4 = reader.ReadSingle(); Unknown5 = reader.ReadBoolean(); Unknown6 = 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"); TeamName = reader.ReadString16(); Mode = reader.ReadByte(); if (Mode == 2 || Mode == 0) { TeamDisplayName = reader.ReadString16(); TeamPrefix = reader.ReadString16(); TeamSufix = reader.ReadString16(); if (version >= 60) FriendlyFire = reader.ReadByte(); else FriendlyFire = (byte) (reader.ReadBoolean() ? 1 : 0); } if (Mode == 0 || Mode == 3 || Mode == 4) { PlayerCount = reader.ReadInt16(); var collection = new List<string>(); for (int i = 0; i < PlayerCount; i++) { collection.Add(reader.ReadString16()); } Players = collection.ToArray(); } }
/// <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 System.ArgumentNullException("reader"); WindowId = reader.ReadByte(); ActionNumber = reader.ReadInt16(); Accepted = 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 System.ArgumentNullException("reader"); PlayerName = reader.ReadString16(); Online = reader.ReadBoolean(); Ping = 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"); Yaw = reader.ReadSingle (); Pitch = reader.ReadSingle (); OnGround = 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"); PositionX = reader.ReadDouble (); PositionY = reader.ReadDouble (); Stance = reader.ReadDouble (); PositionZ = reader.ReadDouble (); OnGround = 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 (); 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"); WindowId = reader.ReadByte(); Slot = reader.ReadInt16(); RightClick = reader.ReadByte(); ActionNumber = reader.ReadInt16(); Shift = reader.ReadBoolean(); Item = ItemStack.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"); WindowId = reader.ReadByte (); InventoryType = reader.ReadByte (); WindowTitle = reader.ReadString16 (); Slots = reader.ReadByte (); if (version >= 52) UseWindowTitle = reader.ReadBoolean (); if (InventoryType == 11) 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"); Language = reader.ReadString16 (); if (version >= 32) ViewDistance = reader.ReadByte (); else ViewDistance = reader.ReadInt32 (); if (version >= 31) ChatOptions = (ChatFlags) reader.ReadByte (); if (version >= 32) Difficulty = reader.ReadByte (); if (version >= 46) ShowCape = 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"); Count = reader.ReadInt16 (); DataLength = reader.ReadInt32 (); if (version >= 51) Unknown = reader.ReadBoolean (); 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; }
/// <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 System.ArgumentNullException("reader"); PositionX = reader.ReadInt32(); PositionZ = reader.ReadInt32(); GroundUpContiguous = reader.ReadBoolean(); PrimaryBitmap = reader.ReadInt16(); AddBitmap = reader.ReadInt16(); CompressedSize = reader.ReadInt32(); if (version < 38) UnusedInt32 = reader.ReadInt32(); CompressedData = reader.ReadBytes(CompressedSize); }
public void BooleanTest() { MemoryStream memStream = new MemoryStream(); BigEndianStream bigEndianStream = new BigEndianStream(memStream); var testByte1 = true; var testByte2 = false; bigEndianStream.Write(testByte1); bigEndianStream.Write(testByte2); memStream.Seek(0, SeekOrigin.Begin); Assert.AreEqual(bigEndianStream.ReadBoolean(), testByte1); Assert.AreEqual(bigEndianStream.ReadBoolean(), testByte2); Assert.AreEqual(memStream.Position, memStream.Length); }