示例#1
0
 public void UpdateInventory(MCInventoryType type, MCItem[] items)
 {
     SendPacket(MCPackets.CreatePlayerInventoryPacket(type, items));
 }
示例#2
0
        public static byte[] CreatePlayerInventoryPacket(MCInventoryType type, MCItem[] items)
        {
            byte[] buffer;

            BinaryWriter writer = new BinaryWriter(new MemoryStream());

            writer.Write((byte)MCPacketOpcodes.PlayerInventory);
            writer.WriteNetwork((int)type);
            writer.WriteNetwork((short)items.Length);

            foreach (MCItem item in items)
            {
                writer.WriteNetwork((short)item.Type);

                if (item.Type != MCBlockType.None)
                {
                    writer.Write(item.Count);
                    writer.WriteNetwork(item.Health);
                }
            }

            buffer = new byte[writer.BaseStream.Position];

            writer.BaseStream.Position = 0;
            writer.BaseStream.Read(buffer, 0, buffer.Length);
            writer.Close();
            writer.Dispose();

            return buffer;
        }