ReadInt32() public method

public ReadInt32 ( ) : int
return int
コード例 #1
0
        /// <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 ();
        }
コード例 #2
0
        /// <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;
        }
コード例 #3
0
 /// <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();
 }
コード例 #4
0
 /// <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 ();
 }
コード例 #5
0
ファイル: PreChunk.cs プロジェクト: splitice/Pdelvo.Minecraft
 /// <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();
 }
コード例 #6
0
ファイル: UseEntity.cs プロジェクト: pdelvo/Pdelvo.Minecraft
 /// <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 ();
 }
コード例 #7
0
 /// <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();
 }
コード例 #8
0
 /// <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();
 }
コード例 #9
0
 /// <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 ());
 }
コード例 #10
0
 /// <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 ();
 }
コード例 #11
0
 /// <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 ();
 }
コード例 #12
0
ファイル: UseBed.cs プロジェクト: splitice/Pdelvo.Minecraft
 /// <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();
 }
コード例 #13
0
 /// <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();
 }
コード例 #14
0
 /// <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();
 }
コード例 #15
0
        /// <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 ();
        }
コード例 #16
0
 /// <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();
 }
コード例 #17
0
 /// <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();
 }
コード例 #18
0
        /// <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));
            }
        }
コード例 #19
0
 /// <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);
 }
コード例 #20
0
 /// <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();
     }
 }
コード例 #21
0
 /// <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);
 }
コード例 #22
0
        /// <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();
            }
        }
コード例 #23
0
 /// <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();
 }
コード例 #24
0
 /// <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();
 }
コード例 #25
0
 /// <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 ();
 }
コード例 #26
0
 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};
 }
コード例 #27
0
        /// <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;
            }
        }
コード例 #28
0
 /// <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;
 }
コード例 #29
0
        /// <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();
        }
コード例 #30
0
        /// <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;
        }