diff --git a/platform/minecraft/src/main/java/ca/teamdman/sfm/common/program/LimitedInputSlot.java b/platform/minecraft/src/main/java/ca/teamdman/sfm/common/program/LimitedInputSlot.java index 7dc51478e..1c6896fef 100644 --- a/platform/minecraft/src/main/java/ca/teamdman/sfm/common/program/LimitedInputSlot.java +++ b/platform/minecraft/src/main/java/ca/teamdman/sfm/common/program/LimitedInputSlot.java @@ -58,11 +58,11 @@ public boolean isDone() { done = true; return true; } - if (!tracker.matchesStack(stack)) { + if (tracker.isDone(type, stack)) { done = true; return true; } - if (tracker.isDone(type, stack)) { + if (!tracker.matchesStack(stack)) { done = true; return true; } diff --git a/platform/minecraft/src/main/java/ca/teamdman/sfm/common/program/LimitedOutputSlot.java b/platform/minecraft/src/main/java/ca/teamdman/sfm/common/program/LimitedOutputSlot.java index 2e3dacce3..7a549f08c 100644 --- a/platform/minecraft/src/main/java/ca/teamdman/sfm/common/program/LimitedOutputSlot.java +++ b/platform/minecraft/src/main/java/ca/teamdman/sfm/common/program/LimitedOutputSlot.java @@ -47,6 +47,10 @@ public boolean isDone() { return true; } STACK stack = getStackInSlot(); + if (tracker.isDone(type, stack)) { + return true; + } + long count = type.getAmount(stack); if (count >= type.getMaxStackSizeForSlot(handler, slot)) { return true; @@ -54,9 +58,6 @@ public boolean isDone() { if (count != 0 && !tracker.matchesStack(stack)) { return true; } - if (tracker.isDone(type, stack)) { - return true; - } return false; }