Fix recursive issues
This commit is contained in:
@@ -168,10 +168,10 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
|||||||
return (left.getPriority() > right.getPriority()) ? -1 : 1;
|
return (left.getPriority() > right.getPriority()) ? -1 : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
private ItemGridHandler itemGridHandler = new ItemGridHandler(this);
|
private IItemGridHandler itemGridHandler = new ItemGridHandler(this);
|
||||||
private FluidGridHandler fluidGridHandler = new FluidGridHandler(this);
|
private IFluidGridHandler fluidGridHandler = new FluidGridHandler(this);
|
||||||
|
|
||||||
private WirelessGridHandler wirelessGridHandler = new WirelessGridHandler(this);
|
private IWirelessGridHandler wirelessGridHandler = new WirelessGridHandler(this);
|
||||||
|
|
||||||
private INetworkNodeGraph nodeGraph = new NetworkNodeGraph(this);
|
private INetworkNodeGraph nodeGraph = new NetworkNodeGraph(this);
|
||||||
|
|
||||||
@@ -183,7 +183,6 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
|||||||
private List<ICraftingTask> craftingTasks = new ArrayList<>();
|
private List<ICraftingTask> craftingTasks = new ArrayList<>();
|
||||||
private List<ICraftingTask> craftingTasksToAdd = new ArrayList<>();
|
private List<ICraftingTask> craftingTasksToAdd = new ArrayList<>();
|
||||||
private List<ICraftingTask> craftingTasksToCancel = new ArrayList<>();
|
private List<ICraftingTask> craftingTasksToCancel = new ArrayList<>();
|
||||||
|
|
||||||
private List<NBTTagCompound> craftingTasksToRead = new ArrayList<>();
|
private List<NBTTagCompound> craftingTasksToRead = new ArrayList<>();
|
||||||
|
|
||||||
private EnergyStorage energy = new EnergyStorage(RefinedStorage.INSTANCE.controllerCapacity);
|
private EnergyStorage energy = new EnergyStorage(RefinedStorage.INSTANCE.controllerCapacity);
|
||||||
@@ -284,20 +283,12 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
|||||||
while (craftingTaskIterator.hasNext()) {
|
while (craftingTaskIterator.hasNext()) {
|
||||||
ICraftingTask task = craftingTaskIterator.next();
|
ICraftingTask task = craftingTaskIterator.next();
|
||||||
|
|
||||||
if (task.getChild() != null) {
|
|
||||||
if (updateCraftingTask(task.getChild())) {
|
|
||||||
task.setChild(null);
|
|
||||||
|
|
||||||
craftingTasksChanged = true;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (updateCraftingTask(task)) {
|
if (updateCraftingTask(task)) {
|
||||||
craftingTaskIterator.remove();
|
craftingTaskIterator.remove();
|
||||||
|
|
||||||
craftingTasksChanged = true;
|
craftingTasksChanged = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (craftingTasksChanged) {
|
if (craftingTasksChanged) {
|
||||||
updateCraftingTasks();
|
updateCraftingTasks();
|
||||||
@@ -335,6 +326,14 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean updateCraftingTask(ICraftingTask task) {
|
private boolean updateCraftingTask(ICraftingTask task) {
|
||||||
|
if (task.getChild() != null) {
|
||||||
|
if (updateCraftingTask(task.getChild())) {
|
||||||
|
task.setChild(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
ICraftingPatternContainer container = task.getPattern().getContainer();
|
ICraftingPatternContainer container = task.getPattern().getContainer();
|
||||||
|
|
||||||
return container != null && ticks % container.getSpeed() == 0 && task.update(worldObj, this);
|
return container != null && ticks % container.getSpeed() == 0 && task.update(worldObj, this);
|
||||||
|
Reference in New Issue
Block a user