diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingTask.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingTask.java index 01b300223..a13960b6d 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingTask.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingTask.java @@ -48,6 +48,8 @@ public class CraftingTask implements ICraftingTask { IStackList results = API.instance().createItemStackList(); IStackList storage = network.getItemStorageCache().getList().copy(); + this.toCraft.add(requested, quantity); + while (qty > 0) { this.steps.add(calculateInternal(storage, results, pattern)); @@ -154,7 +156,7 @@ public class CraftingTask implements ICraftingTask { if (!step.isCompleted()) { allCompleted = false; - if (step.canExecute() && step.execute() && ticks % getTickInterval(step.getPattern().getContainer().getSpeedUpgradeCount()) == 0) { // TODO: speed upgrades handling + if (ticks % getTickInterval(step.getPattern().getContainer().getSpeedUpgradeCount()) == 0 && step.canExecute() && step.execute()) { step.setCompleted(); network.getCraftingManager().sendCraftingMonitorUpdate(); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/StackListItem.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/StackListItem.java index 6c0ee38b3..431457c33 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/StackListItem.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/StackListItem.java @@ -17,8 +17,8 @@ public class StackListItem implements IStackList { @Override public void add(@Nonnull ItemStack stack, int size) { - if (stack.isEmpty() || size <= 0) { - return; + if (stack == null || stack.isEmpty() || size <= 0) { + throw new IllegalArgumentException("Cannot accept empty stack"); } for (ItemStack otherStack : stacks.get(stack.getItem())) {