The Grid now resizes based on screen size, fixes #130

This commit is contained in:
Raoul Van den Berge
2016-12-08 15:24:02 +01:00
parent cd7cc8fc8d
commit e4bd7f458f
54 changed files with 278 additions and 190 deletions

View File

@@ -4,6 +4,8 @@
- Added option to check for oredict in the Grid Filter (raoulvdberge) - Added option to check for oredict in the Grid Filter (raoulvdberge)
- Added option to use a mod filter in the Grid Filter (raoulvdberge) - Added option to use a mod filter in the Grid Filter (raoulvdberge)
- Added option to use a whitelist or blacklist in the Grid Filter (raoulvdberge) - Added option to use a whitelist or blacklist in the Grid Filter (raoulvdberge)
- Added Grid tabs using Grid Filters (raoulvdberge)
- The Grid now resizes based on screen size (raoulvdberge)
### 1.3.3 ### 1.3.3
- Updated Forge to 2188 (raoulvdberge) - Updated Forge to 2188 (raoulvdberge)

View File

@@ -3,6 +3,7 @@ package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSUtils; import com.raoulvdberge.refinedstorage.RSUtils;
import com.raoulvdberge.refinedstorage.block.EnumGridType; import com.raoulvdberge.refinedstorage.block.EnumGridType;
import com.raoulvdberge.refinedstorage.container.slot.*; import com.raoulvdberge.refinedstorage.container.slot.*;
import com.raoulvdberge.refinedstorage.gui.grid.IGridDisplay;
import com.raoulvdberge.refinedstorage.tile.TileBase; import com.raoulvdberge.refinedstorage.tile.TileBase;
import com.raoulvdberge.refinedstorage.tile.grid.IGrid; import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
import com.raoulvdberge.refinedstorage.tile.grid.TileGrid; import com.raoulvdberge.refinedstorage.tile.grid.TileGrid;
@@ -19,24 +20,31 @@ public class ContainerGrid extends ContainerBase {
public static final int TAB_HEIGHT = 31; public static final int TAB_HEIGHT = 31;
private IGrid grid; private IGrid grid;
private IGridDisplay display;
private boolean hadTabs;
private SlotGridCraftingResult craftingResultSlot; private SlotGridCraftingResult craftingResultSlot;
private SlotDisabled patternResultSlot; private SlotDisabled patternResultSlot;
public ContainerGrid(IGrid grid, EntityPlayer player) { public ContainerGrid(IGrid grid, IGridDisplay display, EntityPlayer player) {
super(grid instanceof TileBase ? (TileBase) grid : null, player); super(grid instanceof TileBase ? (TileBase) grid : null, player);
this.grid = grid; this.grid = grid;
this.display = display;
this.hadTabs = !getGrid().getTabs().isEmpty(); initSlots();
}
addPlayerInventory(8, ((grid.getType() == EnumGridType.CRAFTING || grid.getType() == EnumGridType.PATTERN) ? 165 : 126) + getTabDelta()); public void initSlots() {
this.inventorySlots.clear();
this.inventoryItemStacks.clear();
int headerAndSlots = getTabDelta() + display.getHeader() + (display.getVisibleRows() * 18);
addPlayerInventory(8, display.getYPlayerInventory());
if (grid.getType() == EnumGridType.CRAFTING) { if (grid.getType() == EnumGridType.CRAFTING) {
int x = 26; int x = 26;
int y = 96 + getTabDelta(); int y = headerAndSlots + 4;
for (int i = 0; i < 9; ++i) { for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotGridCrafting(((TileGrid) grid).getMatrix(), i, x, y)); addSlotToContainer(new SlotGridCrafting(((TileGrid) grid).getMatrix(), i, x, y));
@@ -49,10 +57,10 @@ public class ContainerGrid extends ContainerBase {
} }
} }
addSlotToContainer(craftingResultSlot = new SlotGridCraftingResult(this, player, (TileGrid) grid, 0, 130 + 4, 110 + 4 + getTabDelta())); addSlotToContainer(craftingResultSlot = new SlotGridCraftingResult(this, getPlayer(), (TileGrid) grid, 0, 130 + 4, headerAndSlots + 22));
} else if (grid.getType() == EnumGridType.PATTERN) { } else if (grid.getType() == EnumGridType.PATTERN) {
int x = 8; int x = 8;
int y = 96 + getTabDelta(); int y = headerAndSlots + 4;
for (int i = 0; i < 9; ++i) { for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotFilterLegacy(((TileGrid) grid).getMatrix(), i, x, y)); addSlotToContainer(new SlotFilterLegacy(((TileGrid) grid).getMatrix(), i, x, y));
@@ -65,10 +73,10 @@ public class ContainerGrid extends ContainerBase {
} }
} }
addSlotToContainer(patternResultSlot = new SlotDisabled(((TileGrid) grid).getResult(), 0, 112 + 4, 110 + 4 + getTabDelta())); addSlotToContainer(patternResultSlot = new SlotDisabled(((TileGrid) grid).getResult(), 0, 112 + 4, headerAndSlots + 22));
addSlotToContainer(new SlotItemHandler(((TileGrid) grid).getPatterns(), 0, 152, 96 + getTabDelta())); addSlotToContainer(new SlotItemHandler(((TileGrid) grid).getPatterns(), 0, 152, headerAndSlots + 4));
addSlotToContainer(new SlotOutput(((TileGrid) grid).getPatterns(), 1, 152, 132 + getTabDelta())); addSlotToContainer(new SlotOutput(((TileGrid) grid).getPatterns(), 1, 152, headerAndSlots + 40));
} }
if (grid.getType() != EnumGridType.FLUID) { if (grid.getType() != EnumGridType.FLUID) {
@@ -78,25 +86,6 @@ public class ContainerGrid extends ContainerBase {
} }
} }
@Override
public void detectAndSendChanges() {
updateSlotsAccordingToTabs();
super.detectAndSendChanges();
}
public void updateSlotsAccordingToTabs() {
boolean hasTabs = !getGrid().getTabs().isEmpty();
if (hadTabs != hasTabs) {
hadTabs = hasTabs;
for (Slot slot : this.inventorySlots) {
slot.yPos += (TAB_HEIGHT - 4) * (hasTabs ? 1 : -1);
}
}
}
private int getTabDelta() { private int getTabDelta() {
return !grid.getTabs().isEmpty() ? TAB_HEIGHT - 4 : 0; return !grid.getTabs().isEmpty() ? TAB_HEIGHT - 4 : 0;
} }

View File

@@ -52,18 +52,18 @@ public abstract class GuiBase extends GuiContainer {
private int lastButtonId; private int lastButtonId;
private int lastSideButtonY; private int lastSideButtonY;
protected int width; protected int screenWidth;
protected int height; protected int screenHeight;
protected Scrollbar scrollbar; protected Scrollbar scrollbar;
public GuiBase(Container container, int width, int height) { public GuiBase(Container container, int screenWidth, int screenHeight) {
super(container); super(container);
this.width = width; this.screenWidth = screenWidth;
this.height = height; this.screenHeight = screenHeight;
this.xSize = width; this.xSize = screenWidth;
this.ySize = height; this.ySize = screenHeight;
} }
public Scrollbar getScrollbar() { public Scrollbar getScrollbar() {
@@ -72,6 +72,8 @@ public abstract class GuiBase extends GuiContainer {
@Override @Override
public void initGui() { public void initGui() {
calcHeight();
super.initGui(); super.initGui();
buttonList.clear(); buttonList.clear();
@@ -82,6 +84,9 @@ public abstract class GuiBase extends GuiContainer {
init(guiLeft, guiTop); init(guiLeft, guiTop);
} }
protected void calcHeight() {
}
protected int getSideButtonYStart() { protected int getSideButtonYStart() {
return 6; return 6;
} }

View File

@@ -33,7 +33,7 @@ public class GuiConstructor extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/constructor.png"); bindTexture("gui/constructor.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
} }
@Override @Override

View File

@@ -42,7 +42,7 @@ public class GuiController extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/controller.png"); bindTexture("gui/controller.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
int barHeightNew = TileController.getEnergyScaled(TileController.ENERGY_STORED.getValue(), TileController.ENERGY_CAPACITY.getValue(), barHeight); int barHeightNew = TileController.getEnergyScaled(TileController.ENERGY_STORED.getValue(), TileController.ENERGY_CAPACITY.getValue(), barHeight);

View File

@@ -24,7 +24,7 @@ public class GuiCrafter extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/crafter.png"); bindTexture("gui/crafter.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
} }
@Override @Override

View File

@@ -94,7 +94,7 @@ public class GuiCraftingMonitor extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/crafting_monitor.png"); bindTexture("gui/crafting_monitor.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
if (itemSelectedX != -1 && if (itemSelectedX != -1 &&
itemSelectedY != -1 && itemSelectedY != -1 &&

View File

@@ -88,7 +88,7 @@ public class GuiCraftingPreview extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/crafting_preview.png"); bindTexture("gui/crafting_preview.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
if (stacks.isEmpty()) { if (stacks.isEmpty()) {
drawRect(x + 7, y + 20, x + 142, y + 139, 0xFFDBDBDB); drawRect(x + 7, y + 20, x + 142, y + 139, 0xFFDBDBDB);

View File

@@ -33,7 +33,7 @@ public class GuiDestructor extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/destructor.png"); bindTexture("gui/destructor.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
} }
@Override @Override

View File

@@ -46,7 +46,7 @@ public class GuiDetector extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/detector.png"); bindTexture("gui/detector.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
AMOUNT.drawTextBox(); AMOUNT.drawTextBox();
} }

View File

@@ -30,7 +30,7 @@ public class GuiDiskManipulator extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/disk_manipulator.png"); bindTexture("gui/disk_manipulator.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
} }
@Override @Override

View File

@@ -31,7 +31,7 @@ public class GuiExporter extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/exporter.png"); bindTexture("gui/exporter.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
} }
@Override @Override

View File

@@ -29,7 +29,7 @@ public class GuiFluidInterface extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/fluid_interface.png"); bindTexture("gui/fluid_interface.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
if (TileFluidInterface.TANK_IN.getValue() != null) { if (TileFluidInterface.TANK_IN.getValue() != null) {
TANK_RENDERER.draw(mc, x + 46, y + 56, TileFluidInterface.TANK_IN.getValue()); TANK_RENDERER.draw(mc, x + 46, y + 56, TileFluidInterface.TANK_IN.getValue());

View File

@@ -65,7 +65,7 @@ public class GuiGridFilter extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/grid_filter.png"); bindTexture("gui/grid_filter.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
nameField.drawTextBox(); nameField.drawTextBox();
} }

View File

@@ -2,6 +2,7 @@ package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RSGui; import com.raoulvdberge.refinedstorage.RSGui;
import com.raoulvdberge.refinedstorage.container.*; import com.raoulvdberge.refinedstorage.container.*;
import com.raoulvdberge.refinedstorage.gui.grid.GridDisplayDummy;
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid; import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
import com.raoulvdberge.refinedstorage.tile.*; import com.raoulvdberge.refinedstorage.tile.*;
import com.raoulvdberge.refinedstorage.tile.craftingmonitor.TileCraftingMonitor; import com.raoulvdberge.refinedstorage.tile.craftingmonitor.TileCraftingMonitor;
@@ -23,7 +24,7 @@ public class GuiHandler implements IGuiHandler {
case RSGui.CONTROLLER: case RSGui.CONTROLLER:
return new ContainerController((TileController) tile, player); return new ContainerController((TileController) tile, player);
case RSGui.GRID: case RSGui.GRID:
return new ContainerGrid((TileGrid) tile, player); return new ContainerGrid((TileGrid) tile, new GridDisplayDummy(), player);
case RSGui.DISK_DRIVE: case RSGui.DISK_DRIVE:
return new ContainerDiskDrive((TileDiskDrive) tile, player); return new ContainerDiskDrive((TileDiskDrive) tile, player);
case RSGui.IMPORTER: case RSGui.IMPORTER:
@@ -90,7 +91,9 @@ public class GuiHandler implements IGuiHandler {
case RSGui.CONTROLLER: case RSGui.CONTROLLER:
return new GuiController((ContainerController) getContainer(ID, player, tile), (TileController) tile); return new GuiController((ContainerController) getContainer(ID, player, tile), (TileController) tile);
case RSGui.GRID: case RSGui.GRID:
return new GuiGrid((ContainerGrid) getContainer(ID, player, tile), (TileGrid) tile); GuiGrid gui = new GuiGrid(null, (TileGrid) tile);
gui.inventorySlots = new ContainerGrid((TileGrid) tile, gui, player);
return gui;
case RSGui.WIRELESS_GRID: case RSGui.WIRELESS_GRID:
return getWirelessGridGui(player, x, y); return getWirelessGridGui(player, x, y);
case RSGui.DISK_DRIVE: case RSGui.DISK_DRIVE:
@@ -149,11 +152,13 @@ public class GuiHandler implements IGuiHandler {
private GuiGrid getWirelessGridGui(EntityPlayer player, int hand, int controllerDimension) { private GuiGrid getWirelessGridGui(EntityPlayer player, int hand, int controllerDimension) {
WirelessGrid grid = getWirelessGrid(player, hand, controllerDimension); WirelessGrid grid = getWirelessGrid(player, hand, controllerDimension);
return new GuiGrid(new ContainerGrid(grid, player), grid); GuiGrid gui = new GuiGrid(null, grid);
gui.inventorySlots = new ContainerGrid(grid, gui, player);
return gui;
} }
private ContainerGrid getWirelessGridContainer(EntityPlayer player, int hand, int controllerDimension) { private ContainerGrid getWirelessGridContainer(EntityPlayer player, int hand, int controllerDimension) {
return new ContainerGrid(getWirelessGrid(player, hand, controllerDimension), player); return new ContainerGrid(getWirelessGrid(player, hand, controllerDimension), new GridDisplayDummy(), player);
} }
private WirelessCraftingMonitor getWirelessCraftingMonitor(EntityPlayer player, int hand, int controllerDimension) { private WirelessCraftingMonitor getWirelessCraftingMonitor(EntityPlayer player, int hand, int controllerDimension) {

View File

@@ -34,7 +34,7 @@ public class GuiImporter extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/importer.png"); bindTexture("gui/importer.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
} }
@Override @Override

View File

@@ -28,7 +28,7 @@ public class GuiInterface extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/interface.png"); bindTexture("gui/interface.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
} }
@Override @Override

View File

@@ -26,7 +26,7 @@ public class GuiNetworkTransmitter extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/network_transmitter.png"); bindTexture("gui/network_transmitter.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
} }
@Override @Override

View File

@@ -46,7 +46,7 @@ public class GuiProcessingPatternEncoder extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/processing_pattern_encoder.png"); bindTexture("gui/processing_pattern_encoder.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
int ty = 0; int ty = 0;

View File

@@ -72,7 +72,7 @@ public class GuiReaderWriter extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/readerwriter.png"); bindTexture("gui/readerwriter.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
if (itemSelectedX != -1 && if (itemSelectedX != -1 &&
itemSelectedY != -1 && itemSelectedY != -1 &&

View File

@@ -22,7 +22,7 @@ public class GuiRelay extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/relay.png"); bindTexture("gui/relay.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
} }
@Override @Override

View File

@@ -22,7 +22,7 @@ public class GuiSolderer extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/solderer.png"); bindTexture("gui/solderer.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
if (TileSolderer.WORKING.getValue()) { if (TileSolderer.WORKING.getValue()) {
drawTexture(x + 83, y + 38 - 1, 212, 0, getProgressScaled(22), 15); drawTexture(x + 83, y + 38 - 1, 212, 0, getProgressScaled(22), 15);

View File

@@ -73,7 +73,7 @@ public class GuiStorage extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture(texture); bindTexture(texture);
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
int barHeightNew = (int) ((float) gui.getStored() / (float) gui.getCapacity() * (float) barHeight); int barHeightNew = (int) ((float) gui.getStored() / (float) gui.getCapacity() * (float) barHeight);

View File

@@ -22,7 +22,7 @@ public class GuiWirelessTransmitter extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/wireless_transmitter.png"); bindTexture("gui/wireless_transmitter.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
} }
@Override @Override

View File

@@ -0,0 +1,28 @@
package com.raoulvdberge.refinedstorage.gui.grid;
public class GridDisplayDummy implements IGridDisplay {
@Override
public int getVisibleRows() {
return 3;
}
@Override
public int getRows() {
return 0;
}
@Override
public int getHeader() {
return 0;
}
@Override
public int getFooter() {
return 0;
}
@Override
public int getYPlayerInventory() {
return 0;
}
}

View File

@@ -2,13 +2,13 @@ package com.raoulvdberge.refinedstorage.gui.grid;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
public class GridFilteredItem { public class GridFilter {
private ItemStack stack; private ItemStack stack;
private int compare; private int compare;
private int mode; private int mode;
private boolean modFilter; private boolean modFilter;
public GridFilteredItem(ItemStack stack, int compare, int mode, boolean modFilter) { public GridFilter(ItemStack stack, int compare, int mode, boolean modFilter) {
this.stack = stack; this.stack = stack;
this.compare = compare; this.compare = compare;
this.mode = mode; this.mode = mode;

View File

@@ -5,17 +5,17 @@ import net.minecraft.item.ItemStack;
import java.util.List; import java.util.List;
public class GridTab { public class GridTab {
private List<GridFilteredItem> filters; private List<GridFilter> filters;
private String name; private String name;
private ItemStack icon; private ItemStack icon;
public GridTab(List<GridFilteredItem> filters, String name, ItemStack icon) { public GridTab(List<GridFilter> filters, String name, ItemStack icon) {
this.filters = filters; this.filters = filters;
this.name = name; this.name = name;
this.icon = icon; this.icon = icon;
} }
public List<GridFilteredItem> getFilters() { public List<GridFilter> getFilters() {
return filters; return filters;
} }

View File

@@ -4,7 +4,7 @@ import com.google.common.primitives.Ints;
import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.container.ContainerCraftingSettings; import com.raoulvdberge.refinedstorage.container.ContainerCraftingSettings;
import com.raoulvdberge.refinedstorage.gui.GuiBase; import com.raoulvdberge.refinedstorage.gui.GuiBase;
import com.raoulvdberge.refinedstorage.gui.grid.stack.ClientStackItem; import com.raoulvdberge.refinedstorage.gui.grid.stack.GridStackItem;
import com.raoulvdberge.refinedstorage.network.MessageGridCraftingPreview; import com.raoulvdberge.refinedstorage.network.MessageGridCraftingPreview;
import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiTextField; import net.minecraft.client.gui.GuiTextField;
@@ -21,19 +21,19 @@ public class GuiCraftingStart extends GuiBase {
protected GuiTextField amountField; protected GuiTextField amountField;
private GuiBase parent; private GuiBase parent;
private ClientStackItem stack; private GridStackItem stack;
private GuiButton startButton; private GuiButton startButton;
private GuiButton cancelButton; private GuiButton cancelButton;
private GuiButton[] incrementButtons = new GuiButton[6]; private GuiButton[] incrementButtons = new GuiButton[6];
public GuiCraftingStart(GuiBase parent, ClientStackItem stack, Container container, int w, int h) { public GuiCraftingStart(GuiBase parent, GridStackItem stack, Container container, int w, int h) {
super(container, w, h); super(container, w, h);
this.parent = parent; this.parent = parent;
this.stack = stack; this.stack = stack;
} }
public GuiCraftingStart(GuiGrid parent, EntityPlayer player, ClientStackItem stack) { public GuiCraftingStart(GuiGrid parent, EntityPlayer player, GridStackItem stack) {
this(parent, stack, new ContainerCraftingSettings(player, stack.getStack()), 172, 99); this(parent, stack, new ContainerCraftingSettings(player, stack.getStack()), 172, 99);
} }
@@ -114,7 +114,7 @@ public class GuiCraftingStart extends GuiBase {
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture(getTexture()); bindTexture(getTexture());
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
amountField.drawTextBox(); amountField.drawTextBox();
} }

View File

@@ -13,9 +13,9 @@ import com.raoulvdberge.refinedstorage.gui.grid.filtering.GridFilterParser;
import com.raoulvdberge.refinedstorage.gui.grid.filtering.IGridFilter; import com.raoulvdberge.refinedstorage.gui.grid.filtering.IGridFilter;
import com.raoulvdberge.refinedstorage.gui.grid.sorting.GridSortingName; import com.raoulvdberge.refinedstorage.gui.grid.sorting.GridSortingName;
import com.raoulvdberge.refinedstorage.gui.grid.sorting.GridSortingQuantity; import com.raoulvdberge.refinedstorage.gui.grid.sorting.GridSortingQuantity;
import com.raoulvdberge.refinedstorage.gui.grid.stack.ClientStackFluid; import com.raoulvdberge.refinedstorage.gui.grid.stack.GridStackFluid;
import com.raoulvdberge.refinedstorage.gui.grid.stack.ClientStackItem; import com.raoulvdberge.refinedstorage.gui.grid.stack.GridStackItem;
import com.raoulvdberge.refinedstorage.gui.grid.stack.IClientStack; import com.raoulvdberge.refinedstorage.gui.grid.stack.IGridStack;
import com.raoulvdberge.refinedstorage.gui.sidebutton.*; import com.raoulvdberge.refinedstorage.gui.sidebutton.*;
import com.raoulvdberge.refinedstorage.integration.jei.IntegrationJEI; import com.raoulvdberge.refinedstorage.integration.jei.IntegrationJEI;
import com.raoulvdberge.refinedstorage.integration.jei.RSJEIPlugin; import com.raoulvdberge.refinedstorage.integration.jei.RSJEIPlugin;
@@ -42,14 +42,14 @@ import java.io.IOException;
import java.util.*; import java.util.*;
import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.ThreadLocalRandom;
public class GuiGrid extends GuiBase { public class GuiGrid extends GuiBase implements IGridDisplay {
private static final GridSortingQuantity SORTING_QUANTITY = new GridSortingQuantity(); private static final GridSortingQuantity SORTING_QUANTITY = new GridSortingQuantity();
private static final GridSortingName SORTING_NAME = new GridSortingName(); private static final GridSortingName SORTING_NAME = new GridSortingName();
public static final ListMultimap<Item, ClientStackItem> ITEMS = Multimaps.synchronizedListMultimap(ArrayListMultimap.create()); public static final ListMultimap<Item, GridStackItem> ITEMS = Multimaps.synchronizedListMultimap(ArrayListMultimap.create());
public static final ListMultimap<Fluid, ClientStackFluid> FLUIDS = Multimaps.synchronizedListMultimap(ArrayListMultimap.create()); public static final ListMultimap<Fluid, GridStackFluid> FLUIDS = Multimaps.synchronizedListMultimap(ArrayListMultimap.create());
public static List<IClientStack> STACKS = new ArrayList<>(); public static List<IGridStack> STACKS = new ArrayList<>();
private static boolean markedForSorting; private static boolean markedForSorting;
@@ -58,7 +58,6 @@ public class GuiGrid extends GuiBase {
private GuiTextField searchField; private GuiTextField searchField;
private GuiCheckBox oredictPattern; private GuiCheckBox oredictPattern;
private ContainerGrid container;
private IGrid grid; private IGrid grid;
private boolean hadTabs = false; private boolean hadTabs = false;
@@ -87,9 +86,8 @@ public class GuiGrid extends GuiBase {
} }
public GuiGrid(ContainerGrid container, IGrid grid) { public GuiGrid(ContainerGrid container, IGrid grid) {
super(container, grid.getType() == EnumGridType.FLUID ? 193 : 227, (grid.getType() == EnumGridType.CRAFTING || grid.getType() == EnumGridType.PATTERN) ? 247 : 208); super(container, grid.getType() == EnumGridType.FLUID ? 193 : 227, 0);
this.container = container;
this.grid = grid; this.grid = grid;
this.wasConnected = this.grid.isActive(); this.wasConnected = this.grid.isActive();
@@ -97,9 +95,22 @@ public class GuiGrid extends GuiBase {
this.konamiOffsetsY = new int[9 * getVisibleRows()]; this.konamiOffsetsY = new int[9 * getVisibleRows()];
} }
@Override
protected void calcHeight() {
this.ySize = getHeader() + getFooter() + (getVisibleRows() * 18);
if (hadTabs) {
this.ySize += ContainerGrid.TAB_HEIGHT;
}
this.screenHeight = ySize;
}
@Override @Override
public void init(int x, int y) { public void init(int x, int y) {
this.scrollbar = new Scrollbar(174, 20 + getTabDelta(), 12, (grid.getType() == EnumGridType.CRAFTING || grid.getType() == EnumGridType.PATTERN || grid.getType() == EnumGridType.FLUID) ? 70 : 88); ((ContainerGrid) this.inventorySlots).initSlots();
this.scrollbar = new Scrollbar(174, getTabDelta() + getHeader(), 12, (getVisibleRows() * 18) - 2);
if (grid.getRedstoneModeConfig() != null) { if (grid.getRedstoneModeConfig() != null) {
addSideButton(new SideButtonRedstoneMode(this, grid.getRedstoneModeConfig())); addSideButton(new SideButtonRedstoneMode(this, grid.getRedstoneModeConfig()));
@@ -121,7 +132,7 @@ public class GuiGrid extends GuiBase {
} }
if (grid.getType() == EnumGridType.PATTERN) { if (grid.getType() == EnumGridType.PATTERN) {
oredictPattern = addCheckBox(x + 64, y + 138 + getTabDelta(), t("misc.refinedstorage:oredict"), TileGrid.OREDICT_PATTERN.getValue()); oredictPattern = addCheckBox(x + 64, getTabDelta() + getHeader() + (getVisibleRows() * 18) + 78, t("misc.refinedstorage:oredict"), TileGrid.OREDICT_PATTERN.getValue());
} }
if (grid.getType() != EnumGridType.FLUID) { if (grid.getType() != EnumGridType.FLUID) {
@@ -145,7 +156,7 @@ public class GuiGrid extends GuiBase {
} }
private void sortItems() { private void sortItems() {
List<IClientStack> stacks = new ArrayList<>(); List<IGridStack> stacks = new ArrayList<>();
if (grid.isActive()) { if (grid.isActive()) {
stacks.addAll(grid.getType() == EnumGridType.FLUID ? FLUIDS.values() : ITEMS.values()); stacks.addAll(grid.getType() == EnumGridType.FLUID ? FLUIDS.values() : ITEMS.values());
@@ -156,10 +167,10 @@ public class GuiGrid extends GuiBase {
(grid.getTabSelected() >= 0 && grid.getTabSelected() < grid.getTabs().size()) ? grid.getTabs().get(grid.getTabSelected()).getFilters() : grid.getFilteredItems() (grid.getTabSelected() >= 0 && grid.getTabSelected() < grid.getTabs().size()) ? grid.getTabs().get(grid.getTabSelected()).getFilters() : grid.getFilteredItems()
); );
Iterator<IClientStack> t = stacks.iterator(); Iterator<IGridStack> t = stacks.iterator();
while (t.hasNext()) { while (t.hasNext()) {
IClientStack stack = t.next(); IGridStack stack = t.next();
for (IGridFilter filter : filters) { for (IGridFilter filter : filters) {
if (!filter.accepts(stack)) { if (!filter.accepts(stack)) {
@@ -212,24 +223,45 @@ public class GuiGrid extends GuiBase {
if (hadTabs != hasTabs) { if (hadTabs != hasTabs) {
hadTabs = hasTabs; hadTabs = hasTabs;
ySize = (grid.getType() == EnumGridType.CRAFTING || grid.getType() == EnumGridType.PATTERN) ? 247 : 208;
if (hasTabs) {
ySize += ContainerGrid.TAB_HEIGHT;
}
this.height = ySize;
initGui(); initGui();
container.updateSlotsAccordingToTabs();
} }
} }
private int getRows() { @Override
public int getHeader() {
return 19;
}
@Override
public int getFooter() {
return (grid.getType() == EnumGridType.CRAFTING || grid.getType() == EnumGridType.PATTERN) ? 156 : 99;
}
@Override
public int getYPlayerInventory() {
int yp = getTabDelta() + getHeader() + (getVisibleRows() * 18);
if (grid.getType() == EnumGridType.NORMAL || grid.getType() == EnumGridType.FLUID) {
yp += 16;
} else if (grid.getType() == EnumGridType.CRAFTING || grid.getType() == EnumGridType.PATTERN) {
yp += 73;
}
return yp;
}
@Override
public int getRows() {
return Math.max(0, (int) Math.ceil((float) STACKS.size() / 9F)); return Math.max(0, (int) Math.ceil((float) STACKS.size() / 9F));
} }
@Override
public int getVisibleRows() {
int screenSpaceAvailable = height - getHeader() - getFooter() - (hadTabs ? ContainerGrid.TAB_HEIGHT : 0);
return Math.max(3, (screenSpaceAvailable / 18) - 3);
}
private boolean isOverSlotWithItem() { private boolean isOverSlotWithItem() {
return grid.isActive() && isOverSlot() && slotNumber < STACKS.size(); return grid.isActive() && isOverSlot() && slotNumber < STACKS.size();
} }
@@ -242,23 +274,21 @@ public class GuiGrid extends GuiBase {
return inBounds(7, 19 + getTabDelta(), 162, 18 * getVisibleRows(), mouseX, mouseY); return inBounds(7, 19 + getTabDelta(), 162, 18 * getVisibleRows(), mouseX, mouseY);
} }
private int getVisibleRows() {
return (grid.getType() == EnumGridType.CRAFTING || grid.getType() == EnumGridType.PATTERN) ? 4 : 5;
}
private boolean isOverClear(int mouseX, int mouseY) { private boolean isOverClear(int mouseX, int mouseY) {
int y = getTabDelta() + getHeader() + (getVisibleRows() * 18) + 4;
switch (grid.getType()) { switch (grid.getType()) {
case CRAFTING: case CRAFTING:
return inBounds(82, 95 + getTabDelta(), 7, 7, mouseX, mouseY); return inBounds(82, y, 7, 7, mouseX, mouseY);
case PATTERN: case PATTERN:
return inBounds(64, 95 + getTabDelta(), 7, 7, mouseX, mouseY); return inBounds(64, y, 7, 7, mouseX, mouseY);
default: default:
return false; return false;
} }
} }
private boolean isOverCreatePattern(int mouseX, int mouseY) { private boolean isOverCreatePattern(int mouseX, int mouseY) {
return grid.getType() == EnumGridType.PATTERN && inBounds(152, 114 + getTabDelta(), 16, 16, mouseX, mouseY) && ((TileGrid) grid).canCreatePattern(); return grid.getType() == EnumGridType.PATTERN && inBounds(152, getTabDelta() + getHeader() + (getVisibleRows() * 18) + 22, 16, 16, mouseX, mouseY) && ((TileGrid) grid).canCreatePattern();
} }
private int getTabDelta() { private int getTabDelta() {
@@ -327,7 +357,20 @@ public class GuiGrid extends GuiBase {
bindTexture("gui/grid.png"); bindTexture("gui/grid.png");
} }
drawTexture(x, y + getTabDelta(), 0, 0, width, height - (!grid.getTabs().isEmpty() ? ContainerGrid.TAB_HEIGHT : 0)); int yy = y + getTabDelta();
drawTexture(x, yy, 0, 0, screenWidth, getHeader());
int r = getVisibleRows();
for (int i = 0; i < r; ++i) {
yy += 18;
drawTexture(x, yy, 0, getHeader() + (i > 0 ? (i == r - 1 ? 18 * 2 : 18) : 0), screenWidth, 18);
}
yy += 18;
drawTexture(x, yy, 0, getHeader() + (18 * 3), screenWidth, getFooter());
for (GridTab tab : grid.getTabs()) { for (GridTab tab : grid.getTabs()) {
renderTab(tab, true, x, y, mouseX, mouseY); renderTab(tab, true, x, y, mouseX, mouseY);
@@ -344,7 +387,7 @@ public class GuiGrid extends GuiBase {
ty = 2; ty = 2;
} }
drawTexture(x + 152, y + 114 + getTabDelta(), 240, ty * 16, 16, 16); drawTexture(x + 152, y + getTabDelta() + getHeader() + (getVisibleRows() * 18) + 22, 240, ty * 16, 16, 16);
} }
searchField.drawTextBox(); searchField.drawTextBox();
@@ -353,10 +396,10 @@ public class GuiGrid extends GuiBase {
@Override @Override
public void drawForeground(int mouseX, int mouseY) { public void drawForeground(int mouseX, int mouseY) {
drawString(7, 7 + getTabDelta(), t(grid.getGuiTitle())); drawString(7, 7 + getTabDelta(), t(grid.getGuiTitle()));
drawString(7, ((grid.getType() == EnumGridType.CRAFTING || grid.getType() == EnumGridType.PATTERN) ? 153 : 114) + getTabDelta(), t("container.inventory")); drawString(7, getYPlayerInventory() - 12, t("container.inventory"));
int x = 8; int x = 8;
int y = 20 + getTabDelta(); int y = 19 + getTabDelta();
this.slotNumber = -1; this.slotNumber = -1;
@@ -457,7 +500,7 @@ public class GuiGrid extends GuiBase {
RS.INSTANCE.network.sendToServer(new MessageGridCraftingClear((TileGrid) grid)); RS.INSTANCE.network.sendToServer(new MessageGridCraftingClear((TileGrid) grid));
} }
ItemStack held = container.getPlayer().inventory.getItemStack(); ItemStack held = ((ContainerGrid) this.inventorySlots).getPlayer().inventory.getItemStack();
if (isOverSlotArea(mouseX - guiLeft, mouseY - guiTop) && !held.isEmpty() && (clickedButton == 0 || clickedButton == 1)) { if (isOverSlotArea(mouseX - guiLeft, mouseY - guiTop) && !held.isEmpty() && (clickedButton == 0 || clickedButton == 1)) {
RS.INSTANCE.network.sendToServer(grid.getType() == EnumGridType.FLUID ? new MessageGridFluidInsertHeld() : new MessageGridItemInsertHeld(clickedButton == 1)); RS.INSTANCE.network.sendToServer(grid.getType() == EnumGridType.FLUID ? new MessageGridFluidInsertHeld() : new MessageGridItemInsertHeld(clickedButton == 1));
@@ -465,10 +508,10 @@ public class GuiGrid extends GuiBase {
if (isOverSlotWithItem()) { if (isOverSlotWithItem()) {
if (grid.getType() != EnumGridType.FLUID && (held.isEmpty() || (!held.isEmpty() && clickedButton == 2))) { if (grid.getType() != EnumGridType.FLUID && (held.isEmpty() || (!held.isEmpty() && clickedButton == 2))) {
ClientStackItem stack = (ClientStackItem) STACKS.get(slotNumber); GridStackItem stack = (GridStackItem) STACKS.get(slotNumber);
if (stack.isCraftable() && (stack.doesDisplayCraftText() || (GuiScreen.isShiftKeyDown() && GuiScreen.isCtrlKeyDown()))) { if (stack.isCraftable() && (stack.doesDisplayCraftText() || (GuiScreen.isShiftKeyDown() && GuiScreen.isCtrlKeyDown()))) {
FMLCommonHandler.instance().showGuiScreen(new GuiCraftingStart(this, container.getPlayer(), stack)); FMLCommonHandler.instance().showGuiScreen(new GuiCraftingStart(this, ((ContainerGrid) this.inventorySlots).getPlayer(), stack));
} else { } else {
int flags = 0; int flags = 0;

View File

@@ -0,0 +1,13 @@
package com.raoulvdberge.refinedstorage.gui.grid;
public interface IGridDisplay {
int getVisibleRows();
int getRows();
int getHeader();
int getFooter();
int getYPlayerInventory();
}

View File

@@ -1,9 +1,11 @@
package com.raoulvdberge.refinedstorage.gui.grid.filtering; package com.raoulvdberge.refinedstorage.gui.grid.filtering;
import com.raoulvdberge.refinedstorage.gui.grid.stack.ClientStackItem; import com.raoulvdberge.refinedstorage.gui.grid.stack.GridStackItem;
import com.raoulvdberge.refinedstorage.gui.grid.stack.IClientStack; import com.raoulvdberge.refinedstorage.gui.grid.stack.IGridStack;
public class GridFilterCraftable implements IGridFilter { import java.util.function.Predicate;
public class GridFilterCraftable implements Predicate<IGridStack> {
private boolean craftable; private boolean craftable;
public GridFilterCraftable(boolean craftable) { public GridFilterCraftable(boolean craftable) {
@@ -11,7 +13,7 @@ public class GridFilterCraftable implements IGridFilter {
} }
@Override @Override
public boolean accepts(IClientStack stack) { public boolean test(IGridStack stack) {
return stack instanceof ClientStackItem && ((ClientStackItem) stack).isCraftable() == craftable; return stack instanceof GridStackItem && ((GridStackItem) stack).isCraftable() == craftable;
} }
} }

View File

@@ -1,32 +1,33 @@
package com.raoulvdberge.refinedstorage.gui.grid.filtering; package com.raoulvdberge.refinedstorage.gui.grid.filtering;
import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.gui.grid.GridFilteredItem; import com.raoulvdberge.refinedstorage.gui.grid.GridFilter;
import com.raoulvdberge.refinedstorage.gui.grid.stack.ClientStackItem; import com.raoulvdberge.refinedstorage.gui.grid.stack.GridStackItem;
import com.raoulvdberge.refinedstorage.gui.grid.stack.IClientStack; import com.raoulvdberge.refinedstorage.gui.grid.stack.IGridStack;
import com.raoulvdberge.refinedstorage.item.ItemGridFilter; import com.raoulvdberge.refinedstorage.item.ItemGridFilter;
import java.util.List; import java.util.List;
import java.util.function.Predicate;
public class GridFilterFilteredItems implements IGridFilter { public class GridFilterFilteredItems implements Predicate<IGridStack> {
private List<GridFilteredItem> filteredItems; private List<GridFilter> filteredItems;
public GridFilterFilteredItems(List<GridFilteredItem> filteredItems) { public GridFilterFilteredItems(List<GridFilter> filteredItems) {
this.filteredItems = filteredItems; this.filteredItems = filteredItems;
} }
@Override @Override
public boolean accepts(IClientStack stack) { public boolean test(IGridStack stack) {
int lastMode = ItemGridFilter.MODE_WHITELIST; int lastMode = ItemGridFilter.MODE_WHITELIST;
for (GridFilteredItem filteredItem : filteredItems) { for (GridFilter filteredItem : filteredItems) {
lastMode = filteredItem.getMode(); lastMode = filteredItem.getMode();
if (filteredItem.isModFilter()) { if (filteredItem.isModFilter()) {
if (filteredItem.getStack().getItem().getRegistryName().getResourceDomain().equalsIgnoreCase(stack.getModId())) { if (filteredItem.getStack().getItem().getRegistryName().getResourceDomain().equalsIgnoreCase(stack.getModId())) {
return filteredItem.getMode() == ItemGridFilter.MODE_WHITELIST; return filteredItem.getMode() == ItemGridFilter.MODE_WHITELIST;
} }
} else if (API.instance().getComparer().isEqual(((ClientStackItem) stack).getStack(), filteredItem.getStack(), filteredItem.getCompare())) { } else if (API.instance().getComparer().isEqual(((GridStackItem) stack).getStack(), filteredItem.getStack(), filteredItem.getCompare())) {
return filteredItem.getMode() == ItemGridFilter.MODE_WHITELIST; return filteredItem.getMode() == ItemGridFilter.MODE_WHITELIST;
} }
} }

View File

@@ -1,10 +1,12 @@
package com.raoulvdberge.refinedstorage.gui.grid.filtering; package com.raoulvdberge.refinedstorage.gui.grid.filtering;
import com.raoulvdberge.refinedstorage.gui.grid.stack.IClientStack; import com.raoulvdberge.refinedstorage.gui.grid.stack.IGridStack;
import net.minecraftforge.fml.common.Loader; import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.ModContainer; import net.minecraftforge.fml.common.ModContainer;
public class GridFilterMod implements IGridFilter { import java.util.function.Predicate;
public class GridFilterMod implements Predicate<IGridStack> {
private String modName; private String modName;
public GridFilterMod(String modName) { public GridFilterMod(String modName) {
@@ -21,7 +23,7 @@ public class GridFilterMod implements IGridFilter {
} }
@Override @Override
public boolean accepts(IClientStack stack) { public boolean test(IGridStack stack) {
String otherModId = stack.getModId().toLowerCase(); String otherModId = stack.getModId().toLowerCase();
if (!getModNameFromModId(otherModId).contains(modName)) { if (!getModNameFromModId(otherModId).contains(modName)) {

View File

@@ -1,8 +1,10 @@
package com.raoulvdberge.refinedstorage.gui.grid.filtering; package com.raoulvdberge.refinedstorage.gui.grid.filtering;
import com.raoulvdberge.refinedstorage.gui.grid.stack.IClientStack; import com.raoulvdberge.refinedstorage.gui.grid.stack.IGridStack;
public class GridFilterName implements IGridFilter { import java.util.function.Predicate;
public class GridFilterName implements Predicate<IGridStack> {
private String name; private String name;
public GridFilterName(String name) { public GridFilterName(String name) {
@@ -10,7 +12,7 @@ public class GridFilterName implements IGridFilter {
} }
@Override @Override
public boolean accepts(IClientStack stack) { public boolean test(IGridStack stack) {
return stack.getName().toLowerCase().contains(name); return stack.getName().toLowerCase().contains(name);
} }
} }

View File

@@ -1,15 +1,17 @@
package com.raoulvdberge.refinedstorage.gui.grid.filtering; package com.raoulvdberge.refinedstorage.gui.grid.filtering;
import com.raoulvdberge.refinedstorage.gui.grid.GridFilteredItem; import com.raoulvdberge.refinedstorage.gui.grid.GridFilter;
import com.raoulvdberge.refinedstorage.gui.grid.stack.IGridStack;
import com.raoulvdberge.refinedstorage.tile.grid.IGrid; import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
import com.raoulvdberge.refinedstorage.tile.grid.TileGrid; import com.raoulvdberge.refinedstorage.tile.grid.TileGrid;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.function.Predicate;
public class GridFilterParser { public class GridFilterParser {
public static List<IGridFilter> getFilters(IGrid grid, String query, List<GridFilteredItem> itemFilters) { public static List<Predicate<IGridStack>> getFilters(IGrid grid, String query, List<GridFilter> filteredItems) {
List<IGridFilter> filters = new LinkedList<>(); List<Predicate<IGridStack>> filters = new LinkedList<>();
for (String part : query.toLowerCase().trim().split(" ")) { for (String part : query.toLowerCase().trim().split(" ")) {
if (part.startsWith("@")) { if (part.startsWith("@")) {
@@ -27,8 +29,8 @@ public class GridFilterParser {
filters.add(new GridFilterCraftable(true)); filters.add(new GridFilterCraftable(true));
} }
if (!itemFilters.isEmpty()) { if (!filteredItems.isEmpty()) {
filters.add(new GridFilterFilteredItems(itemFilters)); filters.add(new GridFilterFilteredItems(filteredItems));
} }
return filters; return filters;

View File

@@ -1,8 +1,10 @@
package com.raoulvdberge.refinedstorage.gui.grid.filtering; package com.raoulvdberge.refinedstorage.gui.grid.filtering;
import com.raoulvdberge.refinedstorage.gui.grid.stack.IClientStack; import com.raoulvdberge.refinedstorage.gui.grid.stack.IGridStack;
public class GridFilterTooltip implements IGridFilter { import java.util.function.Predicate;
public class GridFilterTooltip implements Predicate<IGridStack> {
private String tooltip; private String tooltip;
public GridFilterTooltip(String tooltip) { public GridFilterTooltip(String tooltip) {
@@ -10,7 +12,7 @@ public class GridFilterTooltip implements IGridFilter {
} }
@Override @Override
public boolean accepts(IClientStack stack) { public boolean test(IGridStack stack) {
String otherTooltip = stack.getTooltip().trim().toLowerCase(); String otherTooltip = stack.getTooltip().trim().toLowerCase();
if (!otherTooltip.contains("\n")) { if (!otherTooltip.contains("\n")) {

View File

@@ -1,7 +0,0 @@
package com.raoulvdberge.refinedstorage.gui.grid.filtering;
import com.raoulvdberge.refinedstorage.gui.grid.stack.IClientStack;
public interface IGridFilter {
boolean accepts(IClientStack stack);
}

View File

@@ -1,10 +1,10 @@
package com.raoulvdberge.refinedstorage.gui.grid.sorting; package com.raoulvdberge.refinedstorage.gui.grid.sorting;
import com.raoulvdberge.refinedstorage.gui.grid.stack.IClientStack; import com.raoulvdberge.refinedstorage.gui.grid.stack.IGridStack;
import java.util.Comparator; import java.util.Comparator;
public abstract class GridSorting implements Comparator<IClientStack> { public abstract class GridSorting implements Comparator<IGridStack> {
protected int sortingDirection; protected int sortingDirection;
public void setSortingDirection(int sortingDirection) { public void setSortingDirection(int sortingDirection) {

View File

@@ -1,11 +1,11 @@
package com.raoulvdberge.refinedstorage.gui.grid.sorting; package com.raoulvdberge.refinedstorage.gui.grid.sorting;
import com.raoulvdberge.refinedstorage.gui.grid.stack.IClientStack; import com.raoulvdberge.refinedstorage.gui.grid.stack.IGridStack;
import com.raoulvdberge.refinedstorage.tile.grid.TileGrid; import com.raoulvdberge.refinedstorage.tile.grid.TileGrid;
public class GridSortingName extends GridSorting { public class GridSortingName extends GridSorting {
@Override @Override
public int compare(IClientStack left, IClientStack right) { public int compare(IGridStack left, IGridStack right) {
String leftName = left.getName(); String leftName = left.getName();
String rightName = right.getName(); String rightName = right.getName();

View File

@@ -1,11 +1,11 @@
package com.raoulvdberge.refinedstorage.gui.grid.sorting; package com.raoulvdberge.refinedstorage.gui.grid.sorting;
import com.raoulvdberge.refinedstorage.gui.grid.stack.IClientStack; import com.raoulvdberge.refinedstorage.gui.grid.stack.IGridStack;
import com.raoulvdberge.refinedstorage.tile.grid.TileGrid; import com.raoulvdberge.refinedstorage.tile.grid.TileGrid;
public class GridSortingQuantity extends GridSorting { public class GridSortingQuantity extends GridSorting {
@Override @Override
public int compare(IClientStack left, IClientStack right) { public int compare(IGridStack left, IGridStack right) {
int leftSize = left.getQuantity(); int leftSize = left.getQuantity();
int rightSize = right.getQuantity(); int rightSize = right.getQuantity();

View File

@@ -5,11 +5,11 @@ import com.raoulvdberge.refinedstorage.gui.GuiBase;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
public class ClientStackFluid implements IClientStack { public class GridStackFluid implements IGridStack {
private int hash; private int hash;
private FluidStack stack; private FluidStack stack;
public ClientStackFluid(Pair<Integer, FluidStack> data) { public GridStackFluid(Pair<Integer, FluidStack> data) {
this.hash = data.getLeft(); this.hash = data.getLeft();
this.stack = data.getRight(); this.stack = data.getRight();
} }
@@ -57,6 +57,6 @@ public class ClientStackFluid implements IClientStack {
@Override @Override
public boolean equals(Object obj) { public boolean equals(Object obj) {
return obj instanceof ClientStackFluid && ((ClientStackFluid) obj).getStack().isFluidEqual(stack); return obj instanceof GridStackFluid && ((GridStackFluid) obj).getStack().isFluidEqual(stack);
} }
} }

View File

@@ -9,17 +9,16 @@ import net.minecraft.client.resources.I18n;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.fml.common.network.ByteBufUtils;
import java.util.List; import java.util.List;
public class ClientStackItem implements IClientStack { public class GridStackItem implements IGridStack {
private int hash; private int hash;
private ItemStack stack; private ItemStack stack;
private boolean craftable; private boolean craftable;
private boolean displayCraftText; private boolean displayCraftText;
public ClientStackItem(ByteBuf buf) { public GridStackItem(ByteBuf buf) {
stack = RSUtils.readItemStack(buf); stack = RSUtils.readItemStack(buf);
hash = buf.readInt(); hash = buf.readInt();
craftable = buf.readBoolean(); craftable = buf.readBoolean();
@@ -109,6 +108,6 @@ public class ClientStackItem implements IClientStack {
@Override @Override
public boolean equals(Object obj) { public boolean equals(Object obj) {
return obj instanceof IClientStack && ((ClientStackItem) obj).getHash() == hash; return obj instanceof IGridStack && ((GridStackItem) obj).getHash() == hash;
} }
} }

View File

@@ -2,7 +2,7 @@ package com.raoulvdberge.refinedstorage.gui.grid.stack;
import com.raoulvdberge.refinedstorage.gui.GuiBase; import com.raoulvdberge.refinedstorage.gui.GuiBase;
public interface IClientStack { public interface IGridStack {
int getHash(); int getHash();
String getName(); String getName();

View File

@@ -1,7 +1,7 @@
package com.raoulvdberge.refinedstorage.inventory; package com.raoulvdberge.refinedstorage.inventory;
import com.raoulvdberge.refinedstorage.RSItems; import com.raoulvdberge.refinedstorage.RSItems;
import com.raoulvdberge.refinedstorage.gui.grid.GridFilteredItem; import com.raoulvdberge.refinedstorage.gui.grid.GridFilter;
import com.raoulvdberge.refinedstorage.gui.grid.GridTab; import com.raoulvdberge.refinedstorage.gui.grid.GridTab;
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid; import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
import com.raoulvdberge.refinedstorage.item.ItemGridFilter; import com.raoulvdberge.refinedstorage.item.ItemGridFilter;
@@ -13,10 +13,10 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
public class ItemHandlerGridFilterInGrid extends ItemHandlerBasic { public class ItemHandlerGridFilterInGrid extends ItemHandlerBasic {
private List<GridFilteredItem> filteredItems; private List<GridFilter> filteredItems;
private List<GridTab> tabs; private List<GridTab> tabs;
public ItemHandlerGridFilterInGrid(List<GridFilteredItem> filteredItems, List<GridTab> tabs) { public ItemHandlerGridFilterInGrid(List<GridFilter> filteredItems, List<GridTab> tabs) {
super(4, new ItemValidatorBasic(RSItems.GRID_FILTER)); super(4, new ItemValidatorBasic(RSItems.GRID_FILTER));
this.filteredItems = filteredItems; this.filteredItems = filteredItems;
@@ -40,11 +40,11 @@ public class ItemHandlerGridFilterInGrid extends ItemHandlerBasic {
ItemHandlerGridFilter items = new ItemHandlerGridFilter(filter); ItemHandlerGridFilter items = new ItemHandlerGridFilter(filter);
List<GridFilteredItem> filters = new ArrayList<>(); List<GridFilter> filters = new ArrayList<>();
for (ItemStack item : items.getFilteredItems()) { for (ItemStack item : items.getFilteredItems()) {
if (!item.isEmpty()) { if (!item.isEmpty()) {
filters.add(new GridFilteredItem(item, compare, mode, modFilter)); filters.add(new GridFilter(item, compare, mode, modFilter));
} }
} }

View File

@@ -2,7 +2,7 @@ package com.raoulvdberge.refinedstorage.network;
import com.raoulvdberge.refinedstorage.RSUtils; import com.raoulvdberge.refinedstorage.RSUtils;
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid; import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
import com.raoulvdberge.refinedstorage.gui.grid.stack.ClientStackFluid; import com.raoulvdberge.refinedstorage.gui.grid.stack.GridStackFluid;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
@@ -14,7 +14,7 @@ public class MessageGridFluidDelta implements IMessage, IMessageHandler<MessageG
private FluidStack stack; private FluidStack stack;
private int delta; private int delta;
private ClientStackFluid clientStack; private GridStackFluid clientStack;
public MessageGridFluidDelta() { public MessageGridFluidDelta() {
} }
@@ -26,7 +26,7 @@ public class MessageGridFluidDelta implements IMessage, IMessageHandler<MessageG
@Override @Override
public void fromBytes(ByteBuf buf) { public void fromBytes(ByteBuf buf) {
clientStack = new ClientStackFluid(RSUtils.readFluidStack(buf)); clientStack = new GridStackFluid(RSUtils.readFluidStack(buf));
delta = buf.readInt(); delta = buf.readInt();
} }
@@ -40,7 +40,7 @@ public class MessageGridFluidDelta implements IMessage, IMessageHandler<MessageG
public IMessage onMessage(MessageGridFluidDelta message, MessageContext ctx) { public IMessage onMessage(MessageGridFluidDelta message, MessageContext ctx) {
Fluid fluid = message.clientStack.getStack().getFluid(); Fluid fluid = message.clientStack.getStack().getFluid();
for (ClientStackFluid stack : GuiGrid.FLUIDS.get(fluid)) { for (GridStackFluid stack : GuiGrid.FLUIDS.get(fluid)) {
if (stack.equals(message.clientStack)) { if (stack.equals(message.clientStack)) {
if (stack.getStack().amount + message.delta == 0) { if (stack.getStack().amount + message.delta == 0) {
GuiGrid.FLUIDS.remove(fluid, stack); GuiGrid.FLUIDS.remove(fluid, stack);

View File

@@ -3,7 +3,7 @@ package com.raoulvdberge.refinedstorage.network;
import com.raoulvdberge.refinedstorage.RSUtils; import com.raoulvdberge.refinedstorage.RSUtils;
import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid; import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
import com.raoulvdberge.refinedstorage.gui.grid.stack.ClientStackFluid; import com.raoulvdberge.refinedstorage.gui.grid.stack.GridStackFluid;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
@@ -15,7 +15,7 @@ import java.util.List;
public class MessageGridFluidUpdate implements IMessage, IMessageHandler<MessageGridFluidUpdate, IMessage> { public class MessageGridFluidUpdate implements IMessage, IMessageHandler<MessageGridFluidUpdate, IMessage> {
private INetworkMaster network; private INetworkMaster network;
private List<ClientStackFluid> stacks = new ArrayList<>(); private List<GridStackFluid> stacks = new ArrayList<>();
public MessageGridFluidUpdate() { public MessageGridFluidUpdate() {
} }
@@ -29,7 +29,7 @@ public class MessageGridFluidUpdate implements IMessage, IMessageHandler<Message
int items = buf.readInt(); int items = buf.readInt();
for (int i = 0; i < items; ++i) { for (int i = 0; i < items; ++i) {
this.stacks.add(new ClientStackFluid(RSUtils.readFluidStack(buf))); this.stacks.add(new GridStackFluid(RSUtils.readFluidStack(buf)));
} }
} }
@@ -46,7 +46,7 @@ public class MessageGridFluidUpdate implements IMessage, IMessageHandler<Message
public IMessage onMessage(MessageGridFluidUpdate message, MessageContext ctx) { public IMessage onMessage(MessageGridFluidUpdate message, MessageContext ctx) {
GuiGrid.FLUIDS.clear(); GuiGrid.FLUIDS.clear();
for (ClientStackFluid item : message.stacks) { for (GridStackFluid item : message.stacks) {
GuiGrid.FLUIDS.put(item.getStack().getFluid(), item); GuiGrid.FLUIDS.put(item.getStack().getFluid(), item);
} }

View File

@@ -3,7 +3,7 @@ package com.raoulvdberge.refinedstorage.network;
import com.raoulvdberge.refinedstorage.RSUtils; import com.raoulvdberge.refinedstorage.RSUtils;
import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid; import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
import com.raoulvdberge.refinedstorage.gui.grid.stack.ClientStackItem; import com.raoulvdberge.refinedstorage.gui.grid.stack.GridStackItem;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@@ -16,7 +16,7 @@ public class MessageGridItemDelta implements IMessage, IMessageHandler<MessageGr
private ItemStack stack; private ItemStack stack;
private int delta; private int delta;
private ClientStackItem clientStack; private GridStackItem clientStack;
public MessageGridItemDelta() { public MessageGridItemDelta() {
} }
@@ -29,7 +29,7 @@ public class MessageGridItemDelta implements IMessage, IMessageHandler<MessageGr
@Override @Override
public void fromBytes(ByteBuf buf) { public void fromBytes(ByteBuf buf) {
clientStack = new ClientStackItem(buf); clientStack = new GridStackItem(buf);
delta = buf.readInt(); delta = buf.readInt();
} }
@@ -43,7 +43,7 @@ public class MessageGridItemDelta implements IMessage, IMessageHandler<MessageGr
public IMessage onMessage(MessageGridItemDelta message, MessageContext ctx) { public IMessage onMessage(MessageGridItemDelta message, MessageContext ctx) {
Item item = message.clientStack.getStack().getItem(); Item item = message.clientStack.getStack().getItem();
for (ClientStackItem stack : GuiGrid.ITEMS.get(item)) { for (GridStackItem stack : GuiGrid.ITEMS.get(item)) {
if (stack.equals(message.clientStack)) { if (stack.equals(message.clientStack)) {
if (stack.getStack().getCount() + message.delta == 0) { if (stack.getStack().getCount() + message.delta == 0) {
if (message.clientStack.isCraftable()) { if (message.clientStack.isCraftable()) {

View File

@@ -5,7 +5,7 @@ import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern;
import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid; import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
import com.raoulvdberge.refinedstorage.gui.grid.stack.ClientStackItem; import com.raoulvdberge.refinedstorage.gui.grid.stack.GridStackItem;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
@@ -17,7 +17,7 @@ import java.util.List;
public class MessageGridItemUpdate implements IMessage, IMessageHandler<MessageGridItemUpdate, IMessage> { public class MessageGridItemUpdate implements IMessage, IMessageHandler<MessageGridItemUpdate, IMessage> {
private INetworkMaster network; private INetworkMaster network;
private List<ClientStackItem> stacks = new ArrayList<>(); private List<GridStackItem> stacks = new ArrayList<>();
public MessageGridItemUpdate() { public MessageGridItemUpdate() {
} }
@@ -31,7 +31,7 @@ public class MessageGridItemUpdate implements IMessage, IMessageHandler<MessageG
int items = buf.readInt(); int items = buf.readInt();
for (int i = 0; i < items; ++i) { for (int i = 0; i < items; ++i) {
this.stacks.add(new ClientStackItem(buf)); this.stacks.add(new GridStackItem(buf));
} }
} }
@@ -62,12 +62,12 @@ public class MessageGridItemUpdate implements IMessage, IMessageHandler<MessageG
public IMessage onMessage(MessageGridItemUpdate message, MessageContext ctx) { public IMessage onMessage(MessageGridItemUpdate message, MessageContext ctx) {
GuiGrid.ITEMS.clear(); GuiGrid.ITEMS.clear();
for (ClientStackItem item : message.stacks) { for (GridStackItem item : message.stacks) {
boolean canAdd = true; boolean canAdd = true;
if (item.doesDisplayCraftText()) { if (item.doesDisplayCraftText()) {
// This is an output from a pattern being sent. Only add it if it hasn't been added before. // This is an output from a pattern being sent. Only add it if it hasn't been added before.
for (ClientStackItem otherItem : GuiGrid.ITEMS.get(item.getStack().getItem())) { for (GridStackItem otherItem : GuiGrid.ITEMS.get(item.getStack().getItem())) {
if (API.instance().getComparer().isEqualNoQuantity(item.getStack(), otherItem.getStack())) { if (API.instance().getComparer().isEqualNoQuantity(item.getStack(), otherItem.getStack())) {
canAdd = false; canAdd = false;

View File

@@ -3,7 +3,7 @@ package com.raoulvdberge.refinedstorage.tile.grid;
import com.raoulvdberge.refinedstorage.api.network.grid.IFluidGridHandler; import com.raoulvdberge.refinedstorage.api.network.grid.IFluidGridHandler;
import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler; import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler;
import com.raoulvdberge.refinedstorage.block.EnumGridType; import com.raoulvdberge.refinedstorage.block.EnumGridType;
import com.raoulvdberge.refinedstorage.gui.grid.GridFilteredItem; import com.raoulvdberge.refinedstorage.gui.grid.GridFilter;
import com.raoulvdberge.refinedstorage.gui.grid.GridTab; import com.raoulvdberge.refinedstorage.gui.grid.GridTab;
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
@@ -44,7 +44,7 @@ public interface IGrid {
void onTabSelectionChanged(int tab); void onTabSelectionChanged(int tab);
List<GridFilteredItem> getFilteredItems(); List<GridFilter> getFilteredItems();
List<GridTab> getTabs(); List<GridTab> getTabs();

View File

@@ -10,7 +10,7 @@ import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.block.BlockGrid; import com.raoulvdberge.refinedstorage.block.BlockGrid;
import com.raoulvdberge.refinedstorage.block.EnumGridType; import com.raoulvdberge.refinedstorage.block.EnumGridType;
import com.raoulvdberge.refinedstorage.container.ContainerGrid; import com.raoulvdberge.refinedstorage.container.ContainerGrid;
import com.raoulvdberge.refinedstorage.gui.grid.GridFilteredItem; import com.raoulvdberge.refinedstorage.gui.grid.GridFilter;
import com.raoulvdberge.refinedstorage.gui.grid.GridTab; import com.raoulvdberge.refinedstorage.gui.grid.GridTab;
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid; import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
@@ -183,7 +183,7 @@ public class TileGrid extends TileNode implements IGrid {
private InventoryCraftResult result = new InventoryCraftResult(); private InventoryCraftResult result = new InventoryCraftResult();
private ItemHandlerBasic patterns = new ItemHandlerBasic(2, this, new ItemValidatorBasic(RSItems.PATTERN)); private ItemHandlerBasic patterns = new ItemHandlerBasic(2, this, new ItemValidatorBasic(RSItems.PATTERN));
private List<GridFilteredItem> filteredItems = new ArrayList<>(); private List<GridFilter> filteredItems = new ArrayList<>();
private List<GridTab> tabs = new ArrayList<>(); private List<GridTab> tabs = new ArrayList<>();
private ItemHandlerGridFilterInGrid filter = new ItemHandlerGridFilterInGrid(filteredItems, tabs); private ItemHandlerGridFilterInGrid filter = new ItemHandlerGridFilterInGrid(filteredItems, tabs);
@@ -284,7 +284,7 @@ public class TileGrid extends TileNode implements IGrid {
} }
@Override @Override
public List<GridFilteredItem> getFilteredItems() { public List<GridFilter> getFilteredItems() {
return filteredItems; return filteredItems;
} }

View File

@@ -5,7 +5,7 @@ import com.raoulvdberge.refinedstorage.RSUtils;
import com.raoulvdberge.refinedstorage.api.network.grid.IFluidGridHandler; import com.raoulvdberge.refinedstorage.api.network.grid.IFluidGridHandler;
import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler; import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler;
import com.raoulvdberge.refinedstorage.block.EnumGridType; import com.raoulvdberge.refinedstorage.block.EnumGridType;
import com.raoulvdberge.refinedstorage.gui.grid.GridFilteredItem; import com.raoulvdberge.refinedstorage.gui.grid.GridFilter;
import com.raoulvdberge.refinedstorage.gui.grid.GridTab; import com.raoulvdberge.refinedstorage.gui.grid.GridTab;
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid; import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
@@ -39,7 +39,7 @@ public class WirelessGrid implements IGrid {
private int searchBoxMode; private int searchBoxMode;
private int tabSelected; private int tabSelected;
private List<GridFilteredItem> filteredItems = new ArrayList<>(); private List<GridFilter> filteredItems = new ArrayList<>();
private List<GridTab> tabs = new ArrayList<>(); private List<GridTab> tabs = new ArrayList<>();
private ItemHandlerGridFilterInGrid filter = new ItemHandlerGridFilterInGrid(filteredItems, tabs) { private ItemHandlerGridFilterInGrid filter = new ItemHandlerGridFilterInGrid(filteredItems, tabs) {
@Override @Override
@@ -175,7 +175,7 @@ public class WirelessGrid implements IGrid {
} }
@Override @Override
public List<GridFilteredItem> getFilteredItems() { public List<GridFilter> getFilteredItems() {
return filteredItems; return filteredItems;
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB