diff --git a/src/main/java/refinedstorage/container/ContainerGrid.java b/src/main/java/refinedstorage/container/ContainerGrid.java index fddc3a828..a893a0919 100755 --- a/src/main/java/refinedstorage/container/ContainerGrid.java +++ b/src/main/java/refinedstorage/container/ContainerGrid.java @@ -60,7 +60,9 @@ public class ContainerGrid extends ContainerBase { addSlotToContainer(new SlotOutput(((TileGrid) grid).getPatterns(), 1, 152, 132)); } - addSlotToContainer(new SlotItemHandler(grid.getFilter(), 0, 204, 6)); + for (int i = 0; i < 4; ++i) { + addSlotToContainer(new SlotItemHandler(grid.getFilter(), i, 204, 6 + (18 * i))); + } } public IGrid getGrid() { diff --git a/src/main/java/refinedstorage/container/ContainerGridFilter.java b/src/main/java/refinedstorage/container/ContainerGridFilter.java index fc636d98f..47fc3be72 100755 --- a/src/main/java/refinedstorage/container/ContainerGridFilter.java +++ b/src/main/java/refinedstorage/container/ContainerGridFilter.java @@ -14,21 +14,11 @@ public class ContainerGridFilter extends ContainerBase { this.filter = new ItemHandlerGridFilter(stack); - int x = 8; - int y = 20; - - for (int i = 0; i < 9 * 3; ++i) { - addSlotToContainer(new SlotSpecimen(filter, i, x, y)); - - if ((i + 1) % 9 == 0) { - y += 18; - x = 8; - } else { - x += 18; - } + for (int i = 0; i < 9; ++i) { + addSlotToContainer(new SlotSpecimen(filter, i, 8 + (i * 18), 20)); } - addPlayerInventory(8, 91); + addPlayerInventory(8, 61); } @Override @@ -40,8 +30,8 @@ public class ContainerGridFilter extends ContainerBase { if (slot != null && slot.getHasStack()) { stack = slot.getStack(); - if (index > (9 * 3) - 1) { - return mergeItemStackToSpecimen(stack, 0, 9 * 3); + if (index > 9 - 1) { + return mergeItemStackToSpecimen(stack, 0, 9); } return null; diff --git a/src/main/java/refinedstorage/gui/GuiGridFilter.java b/src/main/java/refinedstorage/gui/GuiGridFilter.java index 002913bad..7020e5928 100755 --- a/src/main/java/refinedstorage/gui/GuiGridFilter.java +++ b/src/main/java/refinedstorage/gui/GuiGridFilter.java @@ -4,7 +4,7 @@ import refinedstorage.container.ContainerGridFilter; public class GuiGridFilter extends GuiBase { public GuiGridFilter(ContainerGridFilter container) { - super(container, 176, 183); + super(container, 176, 148); } @Override @@ -25,6 +25,6 @@ public class GuiGridFilter extends GuiBase { @Override public void drawForeground(int mouseX, int mouseY) { drawString(7, 7, t("gui.refinedstorage:grid_filter")); - drawString(7, 79, t("container.inventory")); + drawString(7, 55, t("container.inventory")); } } diff --git a/src/main/java/refinedstorage/inventory/ItemHandlerGridFilter.java b/src/main/java/refinedstorage/inventory/ItemHandlerGridFilter.java index dfd83bbfc..1184700c3 100755 --- a/src/main/java/refinedstorage/inventory/ItemHandlerGridFilter.java +++ b/src/main/java/refinedstorage/inventory/ItemHandlerGridFilter.java @@ -9,7 +9,7 @@ public class ItemHandlerGridFilter extends ItemStackHandler { private ItemStack stack; public ItemHandlerGridFilter(ItemStack stack) { - super(9 * 3); + super(9); this.stack = stack; diff --git a/src/main/java/refinedstorage/inventory/ItemHandlerGridFilterInGrid.java b/src/main/java/refinedstorage/inventory/ItemHandlerGridFilterInGrid.java index b51ab73b5..a3393d0ac 100755 --- a/src/main/java/refinedstorage/inventory/ItemHandlerGridFilterInGrid.java +++ b/src/main/java/refinedstorage/inventory/ItemHandlerGridFilterInGrid.java @@ -9,7 +9,7 @@ public class ItemHandlerGridFilterInGrid extends ItemHandlerBasic { private List filteredItems; public ItemHandlerGridFilterInGrid(List filteredItems) { - super(1, new ItemValidatorBasic(RefinedStorageItems.GRID_FILTER)); + super(4, new ItemValidatorBasic(RefinedStorageItems.GRID_FILTER)); this.filteredItems = filteredItems; } @@ -20,14 +20,16 @@ public class ItemHandlerGridFilterInGrid extends ItemHandlerBasic { filteredItems.clear(); - ItemStack stack = getStackInSlot(slot); + for (int i = 0; i < getSlots(); ++i) { + ItemStack stack = getStackInSlot(i); - if (stack != null) { - ItemHandlerGridFilter items = new ItemHandlerGridFilter(stack); + if (stack != null) { + ItemHandlerGridFilter items = new ItemHandlerGridFilter(stack); - for (ItemStack item : items.getFilteredItems()) { - if (item != null) { - filteredItems.add(item); + for (ItemStack item : items.getFilteredItems()) { + if (item != null) { + filteredItems.add(item); + } } } } diff --git a/src/main/java/refinedstorage/tile/TileBase.java b/src/main/java/refinedstorage/tile/TileBase.java index 7bf1fe33a..796fd6836 100755 --- a/src/main/java/refinedstorage/tile/TileBase.java +++ b/src/main/java/refinedstorage/tile/TileBase.java @@ -163,7 +163,9 @@ public abstract class TileBase extends TileEntity implements ITickable { ItemStack stack = ItemStack.loadItemStackFromNBT(tagList.getCompoundTagAt(i)); - handler.insertItem(slot, stack, false); + if (slot >= 0 && slot < handler.getSlots()) { + handler.insertItem(slot, stack, false); + } } } } diff --git a/src/main/java/refinedstorage/tile/grid/WirelessGrid.java b/src/main/java/refinedstorage/tile/grid/WirelessGrid.java index 19a56c128..3d10a0992 100755 --- a/src/main/java/refinedstorage/tile/grid/WirelessGrid.java +++ b/src/main/java/refinedstorage/tile/grid/WirelessGrid.java @@ -45,7 +45,7 @@ public class WirelessGrid implements IGrid { stack.setTagCompound(new NBTTagCompound()); } - TileBase.writeItems(this, 0, stack.getTagCompound()); + TileBase.writeItems(this, slot, stack.getTagCompound()); } } }; @@ -64,7 +64,9 @@ public class WirelessGrid implements IGrid { this.searchBoxMode = ItemWirelessGrid.getSearchBoxMode(stack); if (stack.hasTagCompound()) { - TileBase.readItems(filter, 0, stack.getTagCompound()); + for (int i = 0; i < 4; ++i) { + TileBase.readItems(filter, i, stack.getTagCompound()); + } } } diff --git a/src/main/resources/assets/refinedstorage/textures/gui/crafting_grid.png b/src/main/resources/assets/refinedstorage/textures/gui/crafting_grid.png index 3541a86c6..f00b3b24e 100755 Binary files a/src/main/resources/assets/refinedstorage/textures/gui/crafting_grid.png and b/src/main/resources/assets/refinedstorage/textures/gui/crafting_grid.png differ diff --git a/src/main/resources/assets/refinedstorage/textures/gui/grid.png b/src/main/resources/assets/refinedstorage/textures/gui/grid.png index fb1d4edf2..0644972f7 100644 Binary files a/src/main/resources/assets/refinedstorage/textures/gui/grid.png and b/src/main/resources/assets/refinedstorage/textures/gui/grid.png differ diff --git a/src/main/resources/assets/refinedstorage/textures/gui/grid_filter.png b/src/main/resources/assets/refinedstorage/textures/gui/grid_filter.png index a1c7b0fc3..25ad95901 100755 Binary files a/src/main/resources/assets/refinedstorage/textures/gui/grid_filter.png and b/src/main/resources/assets/refinedstorage/textures/gui/grid_filter.png differ diff --git a/src/main/resources/assets/refinedstorage/textures/gui/pattern_grid.png b/src/main/resources/assets/refinedstorage/textures/gui/pattern_grid.png index 12de1c6bc..b6b62fc42 100755 Binary files a/src/main/resources/assets/refinedstorage/textures/gui/pattern_grid.png and b/src/main/resources/assets/refinedstorage/textures/gui/pattern_grid.png differ