public PlayerInventoryEventArgs(MCInventoryType type, List<MCItem> items) : base() { Inventory = type; Items = items.ToArray(); }
public void UpdateInventory(MCInventoryType type, MCItem[] items) { SendPacket(MCPackets.CreatePlayerInventoryPacket(type, items)); }
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; }