diff --git a/src/main/java/WayofTime/bloodmagic/routing/TestItemFilter.java b/src/main/java/WayofTime/bloodmagic/routing/TestItemFilter.java index 93472ffb..b750a9f4 100644 --- a/src/main/java/WayofTime/bloodmagic/routing/TestItemFilter.java +++ b/src/main/java/WayofTime/bloodmagic/routing/TestItemFilter.java @@ -144,6 +144,7 @@ public class TestItemFilter implements IItemFilter } } } + } Iterator iterator = requestList.iterator(); diff --git a/src/main/java/WayofTime/bloodmagic/tile/routing/TileFilteredRoutingNode.java b/src/main/java/WayofTime/bloodmagic/tile/routing/TileFilteredRoutingNode.java index b764bd40..9e3ecc0d 100644 --- a/src/main/java/WayofTime/bloodmagic/tile/routing/TileFilteredRoutingNode.java +++ b/src/main/java/WayofTime/bloodmagic/tile/routing/TileFilteredRoutingNode.java @@ -1,10 +1,11 @@ package WayofTime.bloodmagic.tile.routing; -import WayofTime.bloodmagic.api.Constants; +import net.minecraft.block.state.IBlockState; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumFacing; +import WayofTime.bloodmagic.api.Constants; public class TileFilteredRoutingNode extends TileRoutingNode implements ISidedInventory { @@ -90,10 +91,14 @@ public class TileFilteredRoutingNode extends TileRoutingNode implements ISidedIn public void incrementCurrentPriotiryToMaximum(int max) { priorities[currentActiveSlot] = Math.min(priorities[currentActiveSlot] + 1, max); + IBlockState state = worldObj.getBlockState(pos); + worldObj.notifyBlockUpdate(pos, state, state, 3); } public void decrementCurrentPriority() { priorities[currentActiveSlot] = Math.max(priorities[currentActiveSlot] - 1, 0); + IBlockState state = worldObj.getBlockState(pos); + worldObj.notifyBlockUpdate(pos, state, state, 3); } } diff --git a/src/main/java/WayofTime/bloodmagic/tile/routing/TileMasterRoutingNode.java b/src/main/java/WayofTime/bloodmagic/tile/routing/TileMasterRoutingNode.java index d27e3122..24f7f2c9 100644 --- a/src/main/java/WayofTime/bloodmagic/tile/routing/TileMasterRoutingNode.java +++ b/src/main/java/WayofTime/bloodmagic/tile/routing/TileMasterRoutingNode.java @@ -1,10 +1,12 @@ package WayofTime.bloodmagic.tile.routing; -import WayofTime.bloodmagic.api.Constants; -import WayofTime.bloodmagic.api.soul.EnumDemonWillType; -import WayofTime.bloodmagic.demonAura.WorldDemonWillHandler; -import WayofTime.bloodmagic.routing.*; -import WayofTime.bloodmagic.tile.TileInventory; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.TreeMap; + import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; @@ -12,12 +14,16 @@ import net.minecraft.util.EnumFacing; import net.minecraft.util.ITickable; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; - -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.TreeMap; +import WayofTime.bloodmagic.api.Constants; +import WayofTime.bloodmagic.api.soul.EnumDemonWillType; +import WayofTime.bloodmagic.demonAura.WorldDemonWillHandler; +import WayofTime.bloodmagic.routing.IInputItemRoutingNode; +import WayofTime.bloodmagic.routing.IItemFilter; +import WayofTime.bloodmagic.routing.IMasterRoutingNode; +import WayofTime.bloodmagic.routing.IOutputItemRoutingNode; +import WayofTime.bloodmagic.routing.IRoutingNode; +import WayofTime.bloodmagic.routing.NodeHelper; +import WayofTime.bloodmagic.tile.TileInventory; public class TileMasterRoutingNode extends TileInventory implements IMasterRoutingNode, ITickable { @@ -381,15 +387,21 @@ public class TileMasterRoutingNode extends TileInventory implements IMasterRouti @Override public void removeAllConnections() { - for (BlockPos testPos : generalNodeList) + List list = generalNodeList.subList(0, generalNodeList.size()); + Iterator itr = list.iterator(); + while (itr.hasNext()) { + BlockPos testPos = itr.next(); TileEntity tile = worldObj.getTileEntity(testPos); if (tile instanceof IRoutingNode) { ((IRoutingNode) tile).removeConnection(pos); - this.removeConnection(testPos); getWorld().notifyBlockUpdate(getPos(), getWorld().getBlockState(testPos), getWorld().getBlockState(testPos), 3); } + + itr.remove(); + inputNodeList.remove(testPos); + outputNodeList.remove(testPos); } } }