コード例 #1
0
 public PlayerInventoryEventArgs(MCInventoryType type, List<MCItem> items)
     : base()
 {
     Inventory = type;
     Items = items.ToArray();
 }
コード例 #2
0
ファイル: MCRawClient.cs プロジェクト: Jonyleeson/MCBot
 public void UpdateInventory(MCInventoryType type, MCItem[] items)
 {
     SendPacket(MCPackets.CreatePlayerInventoryPacket(type, items));
 }
コード例 #3
0
ファイル: MCPackets.cs プロジェクト: Jonyleeson/MCBot
        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;
        }