diff --git a/src/main/java/com/glodblock/github/common/tile/TileLevelMaintainer.java b/src/main/java/com/glodblock/github/common/tile/TileLevelMaintainer.java index 673f1c22..14fb4f6a 100644 --- a/src/main/java/com/glodblock/github/common/tile/TileLevelMaintainer.java +++ b/src/main/java/com/glodblock/github/common/tile/TileLevelMaintainer.java @@ -192,7 +192,7 @@ public class TileLevelMaintainer extends AENetworkTile IAEStack itemToBegin = null; int itemToBeginIdx = -1; - for (int j = 0; j < REQ_COUNT; ++j) { + req: for (int j = 0; j < REQ_COUNT; ++j) { int i = (firstRequest + j) % REQ_COUNT; if (requests[i] == null) continue; @@ -248,8 +248,11 @@ public class TileLevelMaintainer extends AENetworkTile // Walking every CPU to see whether the item is already being // made is comparatively expensive - if (craftingGrid.isRequesting(craftItem)) { - continue; + for (ICraftingCPU cpu : craftingGrid.getCpus()) { + IAEStack output = cpu.getFinalMultiOutput(); + if (output != null && output.isSameType(craftItem)) { + continue req; + } } // do crafting