check if step has started before anything else
@@ -370,6 +370,7 @@ public class CraftingTask implements ICraftingTask {
}
for (ICraftingStep step : leafSteps) {
+ if (!step.hasStartedProcessing()) {
ICraftingPatternContainer container = step.getPattern().getContainer();
Integer timesUsed = usedContainers.get(container);
@@ -379,7 +380,7 @@ public class CraftingTask implements ICraftingTask {
if (timesUsed++ <= container.getSpeedUpdateCount()) {
if (!step.getPattern().isProcessing() || !container.isBlocked()) {
- if (!step.hasStartedProcessing() && step.canStartProcessing(oreDictPrepped, networkFluids)) {
+ if (step.canStartProcessing(oreDictPrepped, networkFluids)){
step.setStartedProcessing();
step.execute(toInsertItems, toInsertFluids);
usedContainers.put(container, timesUsed);
@@ -388,6 +389,7 @@ public class CraftingTask implements ICraftingTask {
}
}
}
+ }
// We need to copy the size cause we'll re-add unadded stacks to the queue
int times = toInsertItems.size();
