Attempted to fix the CME in the routing.

This commit is contained in:
WayofTime 2016-05-03 09:16:56 -04:00
parent 7ce9040aeb
commit a5dee50984
3 changed files with 32 additions and 14 deletions

View file

@ -144,6 +144,7 @@ public class TestItemFilter implements IItemFilter
} }
} }
} }
} }
Iterator<ItemStack> iterator = requestList.iterator(); Iterator<ItemStack> iterator = requestList.iterator();

View file

@ -1,10 +1,11 @@
package WayofTime.bloodmagic.tile.routing; package WayofTime.bloodmagic.tile.routing;
import WayofTime.bloodmagic.api.Constants; import net.minecraft.block.state.IBlockState;
import net.minecraft.inventory.ISidedInventory; import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import WayofTime.bloodmagic.api.Constants;
public class TileFilteredRoutingNode extends TileRoutingNode implements ISidedInventory public class TileFilteredRoutingNode extends TileRoutingNode implements ISidedInventory
{ {
@ -90,10 +91,14 @@ public class TileFilteredRoutingNode extends TileRoutingNode implements ISidedIn
public void incrementCurrentPriotiryToMaximum(int max) public void incrementCurrentPriotiryToMaximum(int max)
{ {
priorities[currentActiveSlot] = Math.min(priorities[currentActiveSlot] + 1, max); priorities[currentActiveSlot] = Math.min(priorities[currentActiveSlot] + 1, max);
IBlockState state = worldObj.getBlockState(pos);
worldObj.notifyBlockUpdate(pos, state, state, 3);
} }
public void decrementCurrentPriority() public void decrementCurrentPriority()
{ {
priorities[currentActiveSlot] = Math.max(priorities[currentActiveSlot] - 1, 0); priorities[currentActiveSlot] = Math.max(priorities[currentActiveSlot] - 1, 0);
IBlockState state = worldObj.getBlockState(pos);
worldObj.notifyBlockUpdate(pos, state, state, 3);
} }
} }

View file

@ -1,10 +1,12 @@
package WayofTime.bloodmagic.tile.routing; package WayofTime.bloodmagic.tile.routing;
import WayofTime.bloodmagic.api.Constants; import java.util.Iterator;
import WayofTime.bloodmagic.api.soul.EnumDemonWillType; import java.util.LinkedList;
import WayofTime.bloodmagic.demonAura.WorldDemonWillHandler; import java.util.List;
import WayofTime.bloodmagic.routing.*; import java.util.Map;
import WayofTime.bloodmagic.tile.TileInventory; import java.util.Map.Entry;
import java.util.TreeMap;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList; import net.minecraft.nbt.NBTTagList;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
@ -12,12 +14,16 @@ import net.minecraft.util.EnumFacing;
import net.minecraft.util.ITickable; import net.minecraft.util.ITickable;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World; import net.minecraft.world.World;
import WayofTime.bloodmagic.api.Constants;
import java.util.LinkedList; import WayofTime.bloodmagic.api.soul.EnumDemonWillType;
import java.util.List; import WayofTime.bloodmagic.demonAura.WorldDemonWillHandler;
import java.util.Map; import WayofTime.bloodmagic.routing.IInputItemRoutingNode;
import java.util.Map.Entry; import WayofTime.bloodmagic.routing.IItemFilter;
import java.util.TreeMap; 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 public class TileMasterRoutingNode extends TileInventory implements IMasterRoutingNode, ITickable
{ {
@ -381,15 +387,21 @@ public class TileMasterRoutingNode extends TileInventory implements IMasterRouti
@Override @Override
public void removeAllConnections() public void removeAllConnections()
{ {
for (BlockPos testPos : generalNodeList) List<BlockPos> list = generalNodeList.subList(0, generalNodeList.size());
Iterator<BlockPos> itr = list.iterator();
while (itr.hasNext())
{ {
BlockPos testPos = itr.next();
TileEntity tile = worldObj.getTileEntity(testPos); TileEntity tile = worldObj.getTileEntity(testPos);
if (tile instanceof IRoutingNode) if (tile instanceof IRoutingNode)
{ {
((IRoutingNode) tile).removeConnection(pos); ((IRoutingNode) tile).removeConnection(pos);
this.removeConnection(testPos);
getWorld().notifyBlockUpdate(getPos(), getWorld().getBlockState(testPos), getWorld().getBlockState(testPos), 3); getWorld().notifyBlockUpdate(getPos(), getWorld().getBlockState(testPos), getWorld().getBlockState(testPos), 3);
} }
itr.remove();
inputNodeList.remove(testPos);
outputNodeList.remove(testPos);
} }
} }
} }