If a player has say 300 cherries, 250 in slot A and 50 in another slot B. Rather than consuming from the left-most slot (as I imagine it behaves now), it should instead consume all ingredients in slot B before consuming those in slot A. For more than two slots, it should successively consume from the slot with least elements.
Hence,
For all slotA containing ingredient, consume(slotA) if and only if count(slotA) <= count(slotB) for all slotB containing ingredient.