docs: public static boolean playerHasIngredients(EntityPlayerMP player, List<ItemStack> ingredients)
      {
          NonNullList<ItemStack> main = player.inventory.mainInventory;
          NonNullList<ItemStack> arm = player.inventory.armorInventory;
  
          for (ItemStack isIngredient : ingredients)
          {
              int target = isIngredient.getCount();
              for (int i = 0; i < main.size() + arm.size() && target > 0; i++)
              {
                  ItemStack isPlayer = (i >= main.size()) ? arm.get(i - main.size()) : main.get(i);
                  if (isPlayer != null && isIngredient != null && itemStackIngredientsMatch(isPlayer, isIngredient))
                      target -= isPlayer.getCount();
              }
              if (target > 0)
                  return false;   // Don't have enough of this.
          }
          return true;
      }