Reinitialized filter after fixing iterator.

This commit is contained in:
WayofTime 2016-01-16 20:43:40 -05:00
parent f1301f65d4
commit 7250dc8126
2 changed files with 59 additions and 54 deletions

View file

@ -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<ItemStack> filteredList = new LinkedList<ItemStack>();
// 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<ItemStack> filteredList = new ArrayList<ItemStack>();
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<ItemStack> filteredList = new LinkedList<ItemStack>();
// 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<ItemStack> filteredList = new ArrayList<ItemStack>();
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;
}
}

View file

@ -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<ItemStack> iterator = requestList.iterator();
while (iterator.hasNext())
{
ItemStack filterStack = iterator.next();
if (filterStack.stackSize <= 0)
{
iterator.remove();
}
}
}
/**