diff --git a/me/cluster/implementations/CraftingCPUCluster.java b/me/cluster/implementations/CraftingCPUCluster.java index 63c1d4e23..50ef830c2 100644 --- a/me/cluster/implementations/CraftingCPUCluster.java +++ b/me/cluster/implementations/CraftingCPUCluster.java @@ -507,9 +507,24 @@ public class CraftingCPUCluster implements IAECluster, ICraftingCPU if ( waiting || tasks.isEmpty() ) // nothing to do here... return; - int remainingOperations = accelerator + 1; - boolean didsomething = false; + remainingOperations = accelerator + 1; + do + { + didsomething = false; + executeCrafting( eg, cc ); + } + while (didsomething && remainingOperations > 0); + + if ( remainingOperations > 0 && didsomething == false ) + waiting = true; + } + + private int remainingOperations; + private boolean didsomething; + + private void executeCrafting(IEnergyGrid eg, CraftingGridCache cc) + { Iterator> i = tasks.entrySet().iterator(); while (i.hasNext()) { @@ -663,9 +678,6 @@ public class CraftingCPUCluster implements IAECluster, ICraftingCPU } } } - - if ( remainingOperations > 0 && didsomething == false ) - waiting = true; } private void storeItems()