diff --git a/src/main/java/WayofTime/bloodmagic/item/routing/ItemRouterFilter.java b/src/main/java/WayofTime/bloodmagic/item/routing/ItemRouterFilter.java index 60d4418e..d14e96e6 100644 --- a/src/main/java/WayofTime/bloodmagic/item/routing/ItemRouterFilter.java +++ b/src/main/java/WayofTime/bloodmagic/item/routing/ItemRouterFilter.java @@ -1,5 +1,6 @@ package WayofTime.bloodmagic.item.routing; +import java.util.ArrayList; import java.util.List; import net.minecraft.creativetab.CreativeTabs; @@ -12,7 +13,10 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import WayofTime.bloodmagic.BloodMagic; import WayofTime.bloodmagic.api.Constants; +import WayofTime.bloodmagic.item.inventory.ItemInventory; import WayofTime.bloodmagic.routing.IItemFilter; +import WayofTime.bloodmagic.routing.TestItemFilter; +import WayofTime.bloodmagic.util.GhostItemHelper; import WayofTime.bloodmagic.util.helper.TextHelper; public class ItemRouterFilter extends Item implements IItemFilterProvider @@ -54,57 +58,55 @@ public class ItemRouterFilter extends Item implements IItemFilterProvider @Override public IItemFilter getInputItemFilter(ItemStack filterStack, IInventory inventory, EnumFacing syphonDirection) { -// IItemFilter testFilter = new TestItemFilter(); -// List filteredList = new LinkedList(); -// ItemInventory inv = new ItemInventory(filterStack, 9, ""); -// for (int i = 0; i < inv.getSizeInventory(); i++) -// { -// ItemStack stack = inv.getStackInSlot(i); -// if (stack == null) -// { -// continue; -// } -// -// ItemStack ghostStack = GhostItemHelper.getStackFromGhost(stack); -// if (ghostStack.stackSize == 0) -// { -// ghostStack.stackSize = Integer.MAX_VALUE; -// } -// -// filteredList.add(ghostStack); -// } -// -// testFilter.initializeFilter(filteredList, inventory, syphonDirection, false); -// return testFilter; - return null; + IItemFilter testFilter = new TestItemFilter(); + List filteredList = new ArrayList(); + ItemInventory inv = new ItemInventory(filterStack, 9, ""); + for (int i = 0; i < inv.getSizeInventory(); i++) + { + ItemStack stack = inv.getStackInSlot(i); + if (stack == null) + { + continue; + } + + ItemStack ghostStack = GhostItemHelper.getStackFromGhost(stack); + if (ghostStack.stackSize == 0) + { + ghostStack.stackSize = Integer.MAX_VALUE; + } + + filteredList.add(ghostStack); + } + + testFilter.initializeFilter(filteredList, inventory, syphonDirection, false); + return testFilter; } @Override public IItemFilter getOutputItemFilter(ItemStack filterStack, IInventory inventory, EnumFacing syphonDirection) { -// IItemFilter testFilter = new TestItemFilter(); -// List filteredList = new LinkedList(); -// ItemInventory inv = new ItemInventory(filterStack, 9, ""); //TODO: Change to grab the filter from the Item later. -// for (int i = 0; i < inv.getSizeInventory(); i++) -// { -// ItemStack stack = inv.getStackInSlot(i); -// if (stack == null) -// { -// continue; -// } -// -// ItemStack ghostStack = GhostItemHelper.getStackFromGhost(stack); -// if (ghostStack.stackSize == 0) -// { -// ghostStack.stackSize = Integer.MAX_VALUE; -// } -// -// filteredList.add(ghostStack); -// } -// -// testFilter.initializeFilter(filteredList, inventory, syphonDirection, true); -// return testFilter; - return null; + IItemFilter testFilter = new TestItemFilter(); + List filteredList = new ArrayList(); + ItemInventory inv = new ItemInventory(filterStack, 9, ""); //TODO: Change to grab the filter from the Item later. + for (int i = 0; i < inv.getSizeInventory(); i++) + { + ItemStack stack = inv.getStackInSlot(i); + if (stack == null) + { + continue; + } + + ItemStack ghostStack = GhostItemHelper.getStackFromGhost(stack); + if (ghostStack.stackSize == 0) + { + ghostStack.stackSize = Integer.MAX_VALUE; + } + + filteredList.add(ghostStack); + } + + testFilter.initializeFilter(filteredList, inventory, syphonDirection, true); + return testFilter; } } diff --git a/src/main/java/WayofTime/bloodmagic/routing/TestItemFilter.java b/src/main/java/WayofTime/bloodmagic/routing/TestItemFilter.java index 92d7f887..2612eb2c 100644 --- a/src/main/java/WayofTime/bloodmagic/routing/TestItemFilter.java +++ b/src/main/java/WayofTime/bloodmagic/routing/TestItemFilter.java @@ -1,12 +1,13 @@ package WayofTime.bloodmagic.routing; +import java.util.Iterator; import java.util.List; -import WayofTime.bloodmagic.util.Utils; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; +import WayofTime.bloodmagic.util.Utils; /** * This particular implementation of IItemFilter checks to make sure that a) as @@ -144,13 +145,15 @@ public class TestItemFilter implements IItemFilter } } -// for (ItemStack filterStack : requestList) -// { -// if (filterStack.stackSize <= 0) -// { -// requestList.remove(filterStack); -// } -// } + Iterator iterator = requestList.iterator(); + while (iterator.hasNext()) + { + ItemStack filterStack = iterator.next(); + if (filterStack.stackSize <= 0) + { + iterator.remove(); + } + } } /**