ReadBytes() public method

public ReadBytes ( int count ) : byte[]
count int
return byte[]
 /// <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");
     SharedKey = reader.ReadBytes(reader.ReadInt16 ());
     if (version >= 37)
         VerifyToken = reader.ReadBytes(reader.ReadInt16 ());
 }
Example #2
0
        /// <summary>
        /// Reads the specified stream.
        /// </summary>
        /// <param name="stream">The stream.</param>
        /// <returns></returns>
        /// <remarks></remarks>
        public static ItemStack Read(BigEndianStream stream)
        {
            if (stream == null)
                throw new System.ArgumentNullException("stream");
            var stack = new ItemStack();
            if ((stack.ItemType = stream.ReadInt16()) >= 0)
            {
                stack.Count = stream.ReadByte();
                stack.Durability = stream.ReadInt16();
            }
            else
                return stack;
            if (((stream.Owner as PacketEndPoint).Version >=36 && stack.ItemType != -1) || (EnchantHelper.Enchantable.Contains(stack.ItemType) && !((stream.Owner as PacketEndPoint).Use12w18aFix && !(_12w18a.Contains(stack.ItemType)))))//12w18a fix
            {
                short hasData = stream.ReadInt16();
                if (hasData > 0)
                {
                    stack.AdditionalData = stream.ReadBytes(hasData);
                }
            }
            if (stack.AdditionalData == null)
                stack.AdditionalData = new byte[0];

            return stack;
        }
 /// <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");
     Channel = reader.ReadString16();
     InternalData = reader.ReadBytes(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");

            ChunkData = reader.ReadBytes(reader.ReadInt16 ());
            PercentComplete = reader.ReadByte ();
        }
Example #5
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");
     ItemType = reader.ReadInt16 ();
     ItemId = reader.ReadInt16 ();
     InnerData = reader.ReadBytes(version >= 49 ? reader.ReadInt16() : 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");
     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");

            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;
        }
 /// <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 ();
     Action = reader.ReadByte ();
     if (version >= 39)
     {
         short length = reader.ReadInt16 ();
         length = length == -1 ? (short) 0 : length;
         DataNBT = reader.ReadBytes(length);
     }
     else
     {
         Custom1 = reader.ReadInt32 ();
         Custom2 = reader.ReadInt32 ();
         Custom3 = reader.ReadInt32 ();
     }
 }
Example #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 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 BytesTest()
        {
            MemoryStream memStream = new MemoryStream();
            BigEndianStream bigEndianStream = new BigEndianStream(memStream);

            var testBytes = new byte[1024];

            new Random().NextBytes(testBytes);

            bigEndianStream.Write(testBytes);

            memStream.Seek(0, SeekOrigin.Begin);

            var result = bigEndianStream.ReadBytes(1024);

            for (int i = 0; i < 1024; i++)
            {
                Assert.AreEqual(testBytes[i], result[i]);
            }
        }
Example #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");
            PositionX = reader.ReadInt32 ();
            PositionY = reader.ReadInt16 ();
            PositionZ = reader.ReadInt32 ();

            SizeX = reader.ReadByte ();
            SizeY = reader.ReadByte ();
            SizeZ = reader.ReadByte ();

            CompressedSize = reader.ReadInt32 ();
            CompressedData = reader.ReadBytes(CompressedSize);
        }