pack Items
fun packItems(itemsToFillIn: List<ItemFacet>, hotbarSlotsToFill: List<ItemSlot>?, forbiddenSlots: Set<ItemSlot>, forbiddenSlotsToFill: Set<ItemSlot>, constraintProvider: ItemPacker.ItemAmountConstraintProvider): List<InventorySwap>
Takes items from the itemsToFillIn list until it has collected maxItemCount items and requiredStackCount stacks. The items are marked as useful and fill in hotbar slots if there are still slots to fill.
Return
returns the item moves (aka "swaps") that should be executed.