コード例 #1
0
ファイル: ItemStack.cs プロジェクト: jdc20181/OpenCraft
        /// <summary>
        /// Creates and returns a new item stack read from a Minecraft stream.
        /// </summary>
        /// <param name="stream">The stream to read from.</param>
        /// <returns></returns>
        public static ItemStack FromStream(IMinecraftStream stream)
        {
            var slot = ItemStack.EmptyStack;

            slot.ID = stream.ReadInt16();
            if (slot.Empty)
            {
                return(slot);
            }
            slot.Count    = stream.ReadInt8();
            slot.Metadata = stream.ReadInt16();
            var length = stream.ReadInt16();

            if (length == -1)
            {
                return(slot);
            }
            slot.Nbt = new NbtCompound();
            var buffer = stream.ReadUInt8Array(length);
            var nbt    = new NbtFile();

            nbt.LoadFromBuffer(buffer, 0, length, NbtCompression.GZip, null);
            slot.Nbt = nbt.RootTag;
            return(slot);
        }
コード例 #2
0
ファイル: MapDataPacket.cs プロジェクト: Zoxive/TrueCraft
 public void ReadPacket(IMinecraftStream stream)
 {
     ItemID = stream.ReadInt16();
     Metadata = stream.ReadInt16();
     byte length = stream.ReadUInt8();
     Data = stream.ReadUInt8Array(length);
 }
コード例 #3
0
ファイル: MapDataPacket.cs プロジェクト: jdc20181/OpenCraft
        public void ReadPacket(IMinecraftStream stream)
        {
            ItemID   = stream.ReadInt16();
            Metadata = stream.ReadInt16();
            byte length = stream.ReadUInt8();

            Data = stream.ReadUInt8Array(length);
        }
コード例 #4
0
ファイル: ChunkDataPacket.cs プロジェクト: Zoxive/TrueCraft
 public void ReadPacket(IMinecraftStream stream)
 {
     X = stream.ReadInt32();
     Y = stream.ReadInt16();
     Z = stream.ReadInt32();
     Width = (short)(stream.ReadInt8() + 1);
     Height = (short)(stream.ReadInt8() + 1);
     Depth = (short)(stream.ReadInt8() + 1);
     int len = stream.ReadInt32();
     CompressedData = stream.ReadUInt8Array(len);
 }
コード例 #5
0
        public void ReadPacket(IMinecraftStream stream)
        {
            X      = stream.ReadInt32();
            Y      = stream.ReadInt16();
            Z      = stream.ReadInt32();
            Width  = (short)(stream.ReadInt8() + 1);
            Height = (short)(stream.ReadInt8() + 1);
            Depth  = (short)(stream.ReadInt8() + 1);
            int len = stream.ReadInt32();

            CompressedData = stream.ReadUInt8Array(len);
        }