Move some things to a new package
This commit is contained in:
		@@ -1,6 +1,7 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.container;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.grid.IGridDisplay;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.slot.SlotCrafterManager;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.IResizableDisplay;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileCrafterManager;
 | 
			
		||||
import net.minecraft.client.resources.I18n;
 | 
			
		||||
@@ -12,7 +13,6 @@ import net.minecraft.inventory.IInventory;
 | 
			
		||||
import net.minecraft.inventory.Slot;
 | 
			
		||||
import net.minecraft.item.ItemStack;
 | 
			
		||||
import net.minecraft.util.NonNullList;
 | 
			
		||||
import net.minecraftforge.items.IItemHandler;
 | 
			
		||||
import net.minecraftforge.items.IItemHandlerModifiable;
 | 
			
		||||
import net.minecraftforge.items.SlotItemHandler;
 | 
			
		||||
 | 
			
		||||
@@ -63,22 +63,7 @@ public class ContainerCrafterManager extends ContainerBase {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public class SlotCrafterManager extends SlotItemHandler {
 | 
			
		||||
        private boolean visible;
 | 
			
		||||
 | 
			
		||||
        private SlotCrafterManager(IItemHandler itemHandler, int index, int xPosition, int yPosition, boolean visible) {
 | 
			
		||||
            super(itemHandler, index, xPosition, yPosition);
 | 
			
		||||
 | 
			
		||||
            this.visible = visible;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
        public boolean isEnabled() {
 | 
			
		||||
            return yPos >= display.getHeader() && yPos < display.getHeader() + 18 * display.getVisibleRows() && visible;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private IGridDisplay display;
 | 
			
		||||
    private IResizableDisplay display;
 | 
			
		||||
    private Map<String, Integer> containerData;
 | 
			
		||||
    private Map<String, IItemHandlerModifiable> dummyInventories = new HashMap<>();
 | 
			
		||||
 | 
			
		||||
@@ -91,7 +76,7 @@ public class ContainerCrafterManager extends ContainerBase {
 | 
			
		||||
        return listeners;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public ContainerCrafterManager(TileCrafterManager crafterManager, EntityPlayer player, IGridDisplay display) {
 | 
			
		||||
    public ContainerCrafterManager(TileCrafterManager crafterManager, EntityPlayer player, IResizableDisplay display) {
 | 
			
		||||
        super(crafterManager, player);
 | 
			
		||||
 | 
			
		||||
        this.display = display;
 | 
			
		||||
@@ -143,7 +128,7 @@ public class ContainerCrafterManager extends ContainerBase {
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            for (int slot = 0; slot < entry.getValue(); ++slot) {
 | 
			
		||||
                addSlotToContainer(new SlotCrafterManager(dummy, slot, x, y, visible));
 | 
			
		||||
                addSlotToContainer(new SlotCrafterManager(dummy, slot, x, y, visible, display));
 | 
			
		||||
 | 
			
		||||
                if (visible) {
 | 
			
		||||
                    x += 18;
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@ import com.raoulvdberge.refinedstorage.api.storage.IStorageCacheListener;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.storage.IStorageDiskProvider;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.slot.*;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.grid.IGridDisplay;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.IResizableDisplay;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileBase;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.grid.WirelessGrid;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.grid.portable.IPortableGrid;
 | 
			
		||||
@@ -31,12 +31,12 @@ public class ContainerGrid extends ContainerBase {
 | 
			
		||||
    private IGrid grid;
 | 
			
		||||
    private IStorageCache cache;
 | 
			
		||||
    private IStorageCacheListener listener;
 | 
			
		||||
    private IGridDisplay display;
 | 
			
		||||
    private IResizableDisplay display;
 | 
			
		||||
 | 
			
		||||
    private SlotGridCraftingResult craftingResultSlot;
 | 
			
		||||
    private SlotDisabled patternResultSlot;
 | 
			
		||||
 | 
			
		||||
    public ContainerGrid(IGrid grid, IGridDisplay display, @Nullable TileBase gridTile, EntityPlayer player) {
 | 
			
		||||
    public ContainerGrid(IGrid grid, IResizableDisplay display, @Nullable TileBase gridTile, EntityPlayer player) {
 | 
			
		||||
        super(gridTile, player);
 | 
			
		||||
 | 
			
		||||
        this.grid = grid;
 | 
			
		||||
@@ -49,7 +49,7 @@ public class ContainerGrid extends ContainerBase {
 | 
			
		||||
        this.inventorySlots.clear();
 | 
			
		||||
        this.inventoryItemStacks.clear();
 | 
			
		||||
 | 
			
		||||
        int headerAndSlots = getTabDelta() + display.getHeader() + (display.getVisibleRows() * 18);
 | 
			
		||||
        int headerAndSlots = getTabDelta() + display.getTopHeight() + (display.getVisibleRows() * 18);
 | 
			
		||||
 | 
			
		||||
        if (grid.getType() != GridType.FLUID) {
 | 
			
		||||
            int yStart = 6;
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,22 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.container.slot;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.IResizableDisplay;
 | 
			
		||||
import net.minecraftforge.items.IItemHandler;
 | 
			
		||||
import net.minecraftforge.items.SlotItemHandler;
 | 
			
		||||
 | 
			
		||||
public class SlotCrafterManager extends SlotItemHandler {
 | 
			
		||||
    private boolean visible;
 | 
			
		||||
    private IResizableDisplay display;
 | 
			
		||||
 | 
			
		||||
    public SlotCrafterManager(IItemHandler itemHandler, int index, int xPosition, int yPosition, boolean visible, IResizableDisplay display) {
 | 
			
		||||
        super(itemHandler, index, xPosition, yPosition);
 | 
			
		||||
 | 
			
		||||
        this.visible = visible;
 | 
			
		||||
        this.display = display;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public boolean isEnabled() {
 | 
			
		||||
        return yPos >= display.getTopHeight() && yPos < display.getTopHeight() + 18 * display.getVisibleRows() && visible;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -3,7 +3,8 @@ package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.RS;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.render.IElementDrawer;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.render.IElementDrawers;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButton;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.Scrollbar;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButton;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.util.RenderUtils;
 | 
			
		||||
import net.minecraft.client.gui.FontRenderer;
 | 
			
		||||
 
 | 
			
		||||
@@ -2,10 +2,10 @@ package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerConstructor;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonCompare;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonConstuctorDrop;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonType;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonCompare;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonConstuctorDrop;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonType;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileConstructor;
 | 
			
		||||
 | 
			
		||||
public class GuiConstructor extends GuiBase {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerController;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.Scrollbar;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.ClientNode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileController;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.util.RenderUtils;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerCrafter;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileCrafter;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.util.RenderUtils;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -4,9 +4,10 @@ import com.raoulvdberge.refinedstorage.RS;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCrafterManager;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerCrafterManager;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.grid.IGridDisplay;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonGridSize;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.slot.SlotCrafterManager;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.Scrollbar;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonGridSize;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileCrafterManager;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.util.RenderUtils;
 | 
			
		||||
@@ -18,7 +19,7 @@ import net.minecraft.inventory.Slot;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
public class GuiCrafterManager extends GuiBase implements IGridDisplay {
 | 
			
		||||
public class GuiCrafterManager extends GuiBase implements IResizableDisplay {
 | 
			
		||||
    private ContainerCrafterManager container;
 | 
			
		||||
    private NetworkNodeCrafterManager crafterManager;
 | 
			
		||||
    private GuiTextField searchField;
 | 
			
		||||
@@ -38,24 +39,24 @@ public class GuiCrafterManager extends GuiBase implements IGridDisplay {
 | 
			
		||||
    protected void calcHeight() {
 | 
			
		||||
        super.calcHeight();
 | 
			
		||||
 | 
			
		||||
        this.ySize = getHeader() + getFooter() + (getVisibleRows() * 18);
 | 
			
		||||
        this.ySize = getTopHeight() + getBottomHeight() + (getVisibleRows() * 18);
 | 
			
		||||
        this.screenHeight = ySize;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public int getHeader() {
 | 
			
		||||
    public int getTopHeight() {
 | 
			
		||||
        return 19;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public int getFooter() {
 | 
			
		||||
    public int getBottomHeight() {
 | 
			
		||||
        return 99;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public int getVisibleRows() {
 | 
			
		||||
        switch (crafterManager.getSize()) {
 | 
			
		||||
            case IGrid.SIZE_STRETCH:
 | 
			
		||||
                int screenSpaceAvailable = height - getHeader() - getFooter();
 | 
			
		||||
                int screenSpaceAvailable = height - getTopHeight() - getBottomHeight();
 | 
			
		||||
 | 
			
		||||
                return Math.max(3, Math.min((screenSpaceAvailable / 18) - 3, RS.INSTANCE.config.maxRowsStretch));
 | 
			
		||||
            case IGrid.SIZE_SMALL:
 | 
			
		||||
@@ -98,7 +99,7 @@ public class GuiCrafterManager extends GuiBase implements IGridDisplay {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public int getYPlayerInventory() {
 | 
			
		||||
        return getHeader() + (getVisibleRows() * 18) + 16;
 | 
			
		||||
        return getTopHeight() + (getVisibleRows() * 18) + 16;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
@@ -106,7 +107,7 @@ public class GuiCrafterManager extends GuiBase implements IGridDisplay {
 | 
			
		||||
        addSideButton(new SideButtonRedstoneMode(this, TileCrafterManager.REDSTONE_MODE));
 | 
			
		||||
        addSideButton(new SideButtonGridSize(this, () -> crafterManager.getSize(), size -> TileDataManager.setParameter(TileCrafterManager.SIZE, size)));
 | 
			
		||||
 | 
			
		||||
        this.scrollbar = new Scrollbar(174, getHeader(), 12, (getVisibleRows() * 18) - 2);
 | 
			
		||||
        this.scrollbar = new Scrollbar(174, getTopHeight(), 12, (getVisibleRows() * 18) - 2);
 | 
			
		||||
        this.scrollbar.addListener((oldOffset, newOffset) -> {
 | 
			
		||||
            if (container != null) {
 | 
			
		||||
                container.initSlots(null);
 | 
			
		||||
@@ -139,7 +140,7 @@ public class GuiCrafterManager extends GuiBase implements IGridDisplay {
 | 
			
		||||
    public void drawBackground(int x, int y, int mouseX, int mouseY) {
 | 
			
		||||
        bindTexture("gui/crafter_manager.png");
 | 
			
		||||
 | 
			
		||||
        drawTexture(x, y, 0, 0, screenWidth, getHeader());
 | 
			
		||||
        drawTexture(x, y, 0, 0, screenWidth, getTopHeight());
 | 
			
		||||
 | 
			
		||||
        int rows = getVisibleRows();
 | 
			
		||||
 | 
			
		||||
@@ -148,16 +149,16 @@ public class GuiCrafterManager extends GuiBase implements IGridDisplay {
 | 
			
		||||
        for (int i = 0; i < rows; ++i) {
 | 
			
		||||
            yy += 18;
 | 
			
		||||
 | 
			
		||||
            drawTexture(x, yy, 0, getHeader() + (i > 0 ? (i == rows - 1 ? 18 * 2 : 18) : 0), screenWidth, 18);
 | 
			
		||||
            drawTexture(x, yy, 0, getTopHeight() + (i > 0 ? (i == rows - 1 ? 18 * 2 : 18) : 0), screenWidth, 18);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        yy += 18;
 | 
			
		||||
 | 
			
		||||
        drawTexture(x, yy, 0, getHeader() + (18 * 3), screenWidth, getFooter());
 | 
			
		||||
        drawTexture(x, yy, 0, getTopHeight() + (18 * 3), screenWidth, getBottomHeight());
 | 
			
		||||
 | 
			
		||||
        if (container != null) {
 | 
			
		||||
            for (Slot slot : container.inventorySlots) {
 | 
			
		||||
                if (slot instanceof ContainerCrafterManager.SlotCrafterManager && slot.isEnabled()) {
 | 
			
		||||
                if (slot instanceof SlotCrafterManager && slot.isEnabled()) {
 | 
			
		||||
                    drawTexture(x + slot.xPos - 1, y + slot.yPos - 1, 0, 193, 18, 18);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
@@ -203,7 +204,7 @@ public class GuiCrafterManager extends GuiBase implements IGridDisplay {
 | 
			
		||||
 | 
			
		||||
            for (Map.Entry<String, Integer> entry : container.getContainerData().entrySet()) {
 | 
			
		||||
                if (t(entry.getKey()).toLowerCase().contains(getSearchFieldText().toLowerCase())) {
 | 
			
		||||
                    if (y >= getHeader() - 1 && y < getHeader() + getVisibleRows() * 18 - 1) {
 | 
			
		||||
                    if (y >= getTopHeight() - 1 && y < getTopHeight() + getVisibleRows() * 18 - 1) {
 | 
			
		||||
                        GlStateManager.disableLighting();
 | 
			
		||||
                        GlStateManager.color(1, 1, 1);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,8 +5,9 @@ import com.raoulvdberge.refinedstorage.api.autocrafting.craftingmonitor.ICraftin
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.render.IElementDrawer;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.render.IElementDrawers;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerCraftingMonitor;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonCraftingMonitorViewAutomated;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.Scrollbar;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonCraftingMonitorViewAutomated;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.network.MessageCraftingMonitorCancel;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.craftingmonitor.ICraftingMonitor;
 | 
			
		||||
import net.minecraft.client.gui.GuiButton;
 | 
			
		||||
 
 | 
			
		||||
@@ -8,6 +8,7 @@ import com.raoulvdberge.refinedstorage.api.render.IElementDrawers;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.preview.CraftingPreviewElementError;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.preview.CraftingPreviewElementFluidStack;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.preview.CraftingPreviewElementItemStack;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.Scrollbar;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.item.ItemPattern;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.network.MessageGridCraftingStart;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.util.RenderUtils;
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@ package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerDestructor;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.*;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.*;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileDestructor;
 | 
			
		||||
 | 
			
		||||
public class GuiDestructor extends GuiBase {
 | 
			
		||||
 
 | 
			
		||||
@@ -3,9 +3,9 @@ package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
import com.google.common.primitives.Ints;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerDetector;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonCompare;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonDetectorMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonType;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonCompare;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonDetectorMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonType;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileDetector;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
 | 
			
		||||
import net.minecraft.client.gui.GuiTextField;
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@ package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerDiskManipulator;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.*;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.*;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileDiskManipulator;
 | 
			
		||||
 | 
			
		||||
public class GuiDiskManipulator extends GuiBase {
 | 
			
		||||
 
 | 
			
		||||
@@ -2,10 +2,10 @@ package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerExporter;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonCompare;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonExporterRegulator;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonType;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonCompare;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonExporterRegulator;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonType;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileExporter;
 | 
			
		||||
 | 
			
		||||
public class GuiExporter extends GuiBase {
 | 
			
		||||
 
 | 
			
		||||
@@ -3,8 +3,8 @@ package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeFluidInterface;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerFluidInterface;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonCompare;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonCompare;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileFluidInterface;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.util.RenderUtils;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,6 @@ import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.IGuiReaderWriter;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.*;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.grid.GridDisplayDummy;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.integration.mcmp.IntegrationMCMP;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.integration.mcmp.RSMCMPAddon;
 | 
			
		||||
@@ -28,9 +27,9 @@ public class GuiHandler implements IGuiHandler {
 | 
			
		||||
            case RSGui.CONTROLLER:
 | 
			
		||||
                return new ContainerController((TileController) tile, player);
 | 
			
		||||
            case RSGui.GRID:
 | 
			
		||||
                return new ContainerGrid(((TileGrid) tile).getNode(), new GridDisplayDummy(), (TileGrid) tile, player);
 | 
			
		||||
                return new ContainerGrid(((TileGrid) tile).getNode(), new ResizableDisplayDummy(), (TileGrid) tile, player);
 | 
			
		||||
            case RSGui.PORTABLE_GRID:
 | 
			
		||||
                return new ContainerGrid((TilePortableGrid) tile, new GridDisplayDummy(), (TilePortableGrid) tile, player);
 | 
			
		||||
                return new ContainerGrid((TilePortableGrid) tile, new ResizableDisplayDummy(), (TilePortableGrid) tile, player);
 | 
			
		||||
            case RSGui.DISK_DRIVE:
 | 
			
		||||
                return new ContainerDiskDrive((TileDiskDrive) tile, player);
 | 
			
		||||
            case RSGui.IMPORTER:
 | 
			
		||||
@@ -74,7 +73,7 @@ public class GuiHandler implements IGuiHandler {
 | 
			
		||||
            case RSGui.STORAGE_MONITOR:
 | 
			
		||||
                return new ContainerStorageMonitor((TileStorageMonitor) tile, player);
 | 
			
		||||
            case RSGui.CRAFTER_MANAGER:
 | 
			
		||||
                return new ContainerCrafterManager((TileCrafterManager) tile, player, new GridDisplayDummy());
 | 
			
		||||
                return new ContainerCrafterManager((TileCrafterManager) tile, player, new ResizableDisplayDummy());
 | 
			
		||||
            default:
 | 
			
		||||
                return null;
 | 
			
		||||
        }
 | 
			
		||||
@@ -176,7 +175,7 @@ public class GuiHandler implements IGuiHandler {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private ContainerGrid getGridContainer(EntityPlayer player, int hand, int networkDimension, int id) {
 | 
			
		||||
        return new ContainerGrid(getGrid(player, hand, networkDimension, id), new GridDisplayDummy(), null, player);
 | 
			
		||||
        return new ContainerGrid(getGrid(player, hand, networkDimension, id), new ResizableDisplayDummy(), null, player);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private WirelessCraftingMonitor getCraftingMonitor(EntityPlayer player, int hand, int networkDimension) {
 | 
			
		||||
 
 | 
			
		||||
@@ -2,10 +2,10 @@ package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerImporter;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonCompare;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonType;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonCompare;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonType;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileImporter;
 | 
			
		||||
 | 
			
		||||
public class GuiImporter extends GuiBase {
 | 
			
		||||
 
 | 
			
		||||
@@ -2,8 +2,8 @@ package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerInterface;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonCompare;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonCompare;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileInterface;
 | 
			
		||||
 | 
			
		||||
public class GuiInterface extends GuiBase {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerNetworkTransmitter;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileNetworkTransmitter;
 | 
			
		||||
 | 
			
		||||
public class GuiNetworkTransmitter extends GuiBase {
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,8 @@ package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.RS;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.IGuiReaderWriter;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerReaderWriter;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.Scrollbar;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.network.MessageReaderWriterChannelAdd;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.network.MessageReaderWriterChannelRemove;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerRelay;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileRelay;
 | 
			
		||||
 | 
			
		||||
public class GuiRelay extends GuiBase {
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,7 @@ package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.RS;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerSecurityManager;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.item.ItemSecurityCard;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.network.MessageSecurityManagerUpdate;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileSecurityManager;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerSolderer;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileSolderer;
 | 
			
		||||
 | 
			
		||||
public class GuiSolderer extends GuiBase {
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@ import com.raoulvdberge.refinedstorage.api.util.IComparer;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.IGuiStorage;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerBase;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.*;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.*;
 | 
			
		||||
import net.minecraft.client.gui.GuiButton;
 | 
			
		||||
import net.minecraft.util.text.TextFormatting;
 | 
			
		||||
import net.minecraftforge.fml.common.FMLCommonHandler;
 | 
			
		||||
 
 | 
			
		||||
@@ -2,8 +2,8 @@ package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerStorageMonitor;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonCompare;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonType;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonCompare;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonType;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileStorageMonitor;
 | 
			
		||||
 | 
			
		||||
public class GuiStorageMonitor extends GuiBase {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerWirelessTransmitter;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileWirelessTransmitter;
 | 
			
		||||
 | 
			
		||||
public class GuiWirelessTransmitter extends GuiBase {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.grid;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
 | 
			
		||||
public interface IGridDisplay {
 | 
			
		||||
public interface IResizableDisplay {
 | 
			
		||||
    int getVisibleRows();
 | 
			
		||||
 | 
			
		||||
    int getRows();
 | 
			
		||||
@@ -9,9 +9,9 @@ public interface IGridDisplay {
 | 
			
		||||
 | 
			
		||||
    String getSearchFieldText();
 | 
			
		||||
 | 
			
		||||
    int getHeader();
 | 
			
		||||
    int getTopHeight();
 | 
			
		||||
 | 
			
		||||
    int getFooter();
 | 
			
		||||
    int getBottomHeight();
 | 
			
		||||
 | 
			
		||||
    int getYPlayerInventory();
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.grid;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
 | 
			
		||||
public class GridDisplayDummy implements IGridDisplay {
 | 
			
		||||
public class ResizableDisplayDummy implements IResizableDisplay {
 | 
			
		||||
    @Override
 | 
			
		||||
    public int getVisibleRows() {
 | 
			
		||||
        return 3;
 | 
			
		||||
@@ -22,12 +22,12 @@ public class GridDisplayDummy implements IGridDisplay {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public int getHeader() {
 | 
			
		||||
    public int getTopHeight() {
 | 
			
		||||
        return 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public int getFooter() {
 | 
			
		||||
    public int getBottomHeight() {
 | 
			
		||||
        return 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -1,15 +1,12 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
import org.lwjgl.input.Mouse;
 | 
			
		||||
 | 
			
		||||
import java.util.LinkedList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
public class Scrollbar {
 | 
			
		||||
    public interface ScrollbarListener {
 | 
			
		||||
        void onOffsetChanged(int oldOffset, int newOffset);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static final int SCROLLER_HEIGHT = 15;
 | 
			
		||||
 | 
			
		||||
    private int x;
 | 
			
		||||
@@ -0,0 +1,5 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
public interface ScrollbarListener {
 | 
			
		||||
    void onOffsetChanged(int oldOffset, int newOffset);
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
import net.minecraft.client.Minecraft;
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.storage.AccessType;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileConstructor;
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.craftingmonitor.ICraftingMonitor;
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileDestructor;
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeDetector;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.TileExporter;
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.diskmanipulator.NetworkNodeDiskManipulator;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.config.IFilterable;
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.config.IType;
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
 | 
			
		||||
package com.raoulvdberge.refinedstorage.gui.control;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
 | 
			
		||||
@@ -10,14 +10,14 @@ import com.raoulvdberge.refinedstorage.api.network.grid.handler.IItemGridHandler
 | 
			
		||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerGrid;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.Scrollbar;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.IResizableDisplay;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.control.*;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.grid.sorting.*;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.grid.stack.GridStackItem;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.grid.stack.IGridStack;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.grid.view.GridViewFluid;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.grid.view.GridViewItem;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.grid.view.IGridView;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.*;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.integration.jei.IntegrationJEI;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.integration.jei.RSJEIPlugin;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.network.*;
 | 
			
		||||
@@ -51,7 +51,7 @@ import java.util.ArrayList;
 | 
			
		||||
import java.util.LinkedList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
public class GuiGrid extends GuiBase implements IGridDisplay {
 | 
			
		||||
public class GuiGrid extends GuiBase implements IResizableDisplay {
 | 
			
		||||
    private static final List<String> SEARCH_HISTORY = new ArrayList<>();
 | 
			
		||||
 | 
			
		||||
    private IGridView view;
 | 
			
		||||
@@ -91,7 +91,7 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    protected void calcHeight() {
 | 
			
		||||
        this.ySize = getHeader() + getFooter() + (getVisibleRows() * 18);
 | 
			
		||||
        this.ySize = getTopHeight() + getBottomHeight() + (getVisibleRows() * 18);
 | 
			
		||||
 | 
			
		||||
        if (hadTabs) {
 | 
			
		||||
            this.ySize += ContainerGrid.TAB_HEIGHT;
 | 
			
		||||
@@ -104,7 +104,7 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
 | 
			
		||||
    public void init(int x, int y) {
 | 
			
		||||
        ((ContainerGrid) this.inventorySlots).initSlots();
 | 
			
		||||
 | 
			
		||||
        this.scrollbar = new Scrollbar(174, getTabHeight() + getHeader(), 12, (getVisibleRows() * 18) - 2);
 | 
			
		||||
        this.scrollbar = new Scrollbar(174, getTabHeight() + getTopHeight(), 12, (getVisibleRows() * 18) - 2);
 | 
			
		||||
 | 
			
		||||
        if (grid instanceof NetworkNodeGrid || grid instanceof TilePortableGrid) {
 | 
			
		||||
            addSideButton(new SideButtonRedstoneMode(this, grid instanceof NetworkNodeGrid ? TileGrid.REDSTONE_MODE : TilePortableGrid.REDSTONE_MODE));
 | 
			
		||||
@@ -129,11 +129,11 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (grid.getType() == GridType.PATTERN) {
 | 
			
		||||
            processingPattern = addCheckBox(x + 7, y + getTabHeight() + getHeader() + (getVisibleRows() * 18) + 60, t("misc.refinedstorage:processing"), TileGrid.PROCESSING_PATTERN.getValue());
 | 
			
		||||
            oredictPattern = addCheckBox(processingPattern.x + processingPattern.width + 5, y + getTabHeight() + getHeader() + (getVisibleRows() * 18) + 60, t("misc.refinedstorage:oredict"), TileGrid.OREDICT_PATTERN.getValue());
 | 
			
		||||
            processingPattern = addCheckBox(x + 7, y + getTabHeight() + getTopHeight() + (getVisibleRows() * 18) + 60, t("misc.refinedstorage:processing"), TileGrid.PROCESSING_PATTERN.getValue());
 | 
			
		||||
            oredictPattern = addCheckBox(processingPattern.x + processingPattern.width + 5, y + getTabHeight() + getTopHeight() + (getVisibleRows() * 18) + 60, t("misc.refinedstorage:oredict"), TileGrid.OREDICT_PATTERN.getValue());
 | 
			
		||||
 | 
			
		||||
            if (((NetworkNodeGrid) grid).isProcessingPattern()) {
 | 
			
		||||
                blockingPattern = addCheckBox(oredictPattern.x + oredictPattern.width + 5, y + getTabHeight() + getHeader() + (getVisibleRows() * 18) + 60, t("misc.refinedstorage:blocking"), TileGrid.BLOCKING_PATTERN.getValue());
 | 
			
		||||
                blockingPattern = addCheckBox(oredictPattern.x + oredictPattern.width + 5, y + getTabHeight() + getTopHeight() + (getVisibleRows() * 18) + 60, t("misc.refinedstorage:blocking"), TileGrid.BLOCKING_PATTERN.getValue());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@@ -180,12 +180,12 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public int getHeader() {
 | 
			
		||||
    public int getTopHeight() {
 | 
			
		||||
        return 19;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public int getFooter() {
 | 
			
		||||
    public int getBottomHeight() {
 | 
			
		||||
        if (grid.getType() == GridType.CRAFTING) {
 | 
			
		||||
            return 156;
 | 
			
		||||
        } else if (grid.getType() == GridType.PATTERN) {
 | 
			
		||||
@@ -197,7 +197,7 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public int getYPlayerInventory() {
 | 
			
		||||
        int yp = getTabHeight() + getHeader() + (getVisibleRows() * 18);
 | 
			
		||||
        int yp = getTabHeight() + getTopHeight() + (getVisibleRows() * 18);
 | 
			
		||||
 | 
			
		||||
        if (grid.getType() == GridType.NORMAL || grid.getType() == GridType.FLUID) {
 | 
			
		||||
            yp += 16;
 | 
			
		||||
@@ -229,7 +229,7 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
 | 
			
		||||
    public int getVisibleRows() {
 | 
			
		||||
        switch (grid.getSize()) {
 | 
			
		||||
            case IGrid.SIZE_STRETCH:
 | 
			
		||||
                int screenSpaceAvailable = height - getHeader() - getFooter() - (hadTabs ? ContainerGrid.TAB_HEIGHT : 0);
 | 
			
		||||
                int screenSpaceAvailable = height - getTopHeight() - getBottomHeight() - (hadTabs ? ContainerGrid.TAB_HEIGHT : 0);
 | 
			
		||||
 | 
			
		||||
                return Math.max(3, Math.min((screenSpaceAvailable / 18) - 3, RS.INSTANCE.config.maxRowsStretch));
 | 
			
		||||
            case IGrid.SIZE_SMALL:
 | 
			
		||||
@@ -260,7 +260,7 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private boolean isOverClear(int mouseX, int mouseY) {
 | 
			
		||||
        int y = getTabHeight() + getHeader() + (getVisibleRows() * 18) + 4;
 | 
			
		||||
        int y = getTabHeight() + getTopHeight() + (getVisibleRows() * 18) + 4;
 | 
			
		||||
 | 
			
		||||
        switch (grid.getType()) {
 | 
			
		||||
            case CRAFTING:
 | 
			
		||||
@@ -277,7 +277,7 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private boolean isOverCreatePattern(int mouseX, int mouseY) {
 | 
			
		||||
        return grid.getType() == GridType.PATTERN && inBounds(172, getTabHeight() + getHeader() + (getVisibleRows() * 18) + 22, 16, 16, mouseX, mouseY) && ((NetworkNodeGrid) grid).canCreatePattern();
 | 
			
		||||
        return grid.getType() == GridType.PATTERN && inBounds(172, getTabHeight() + getTopHeight() + (getVisibleRows() * 18) + 22, 16, 16, mouseX, mouseY) && ((NetworkNodeGrid) grid).canCreatePattern();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private int getTabHeight() {
 | 
			
		||||
@@ -352,7 +352,7 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
 | 
			
		||||
 | 
			
		||||
        int yy = y + getTabHeight();
 | 
			
		||||
 | 
			
		||||
        drawTexture(x, yy, 0, 0, screenWidth - (grid.getType() != GridType.FLUID ? 34 : 0), getHeader());
 | 
			
		||||
        drawTexture(x, yy, 0, 0, screenWidth - (grid.getType() != GridType.FLUID ? 34 : 0), getTopHeight());
 | 
			
		||||
 | 
			
		||||
        if (grid.getType() != GridType.FLUID) {
 | 
			
		||||
            drawTexture(x + screenWidth - 34 + 4, y + getTabHeight(), 197, 0, 30, grid instanceof IPortableGrid ? 114 : 82);
 | 
			
		||||
@@ -363,12 +363,12 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
 | 
			
		||||
        for (int i = 0; i < rows; ++i) {
 | 
			
		||||
            yy += 18;
 | 
			
		||||
 | 
			
		||||
            drawTexture(x, yy, 0, getHeader() + (i > 0 ? (i == rows - 1 ? 18 * 2 : 18) : 0), screenWidth - (grid.getType() != GridType.FLUID ? 34 : 0), 18);
 | 
			
		||||
            drawTexture(x, yy, 0, getTopHeight() + (i > 0 ? (i == rows - 1 ? 18 * 2 : 18) : 0), screenWidth - (grid.getType() != GridType.FLUID ? 34 : 0), 18);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        yy += 18;
 | 
			
		||||
 | 
			
		||||
        drawTexture(x, yy, 0, getHeader() + (18 * 3), screenWidth - (grid.getType() != GridType.FLUID ? 34 : 0), getFooter());
 | 
			
		||||
        drawTexture(x, yy, 0, getTopHeight() + (18 * 3), screenWidth - (grid.getType() != GridType.FLUID ? 34 : 0), getBottomHeight());
 | 
			
		||||
 | 
			
		||||
        if (grid.getType() == GridType.PATTERN) {
 | 
			
		||||
            int ty = 0;
 | 
			
		||||
@@ -381,7 +381,7 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
 | 
			
		||||
                ty = 2;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            drawTexture(x + 172, y + getTabHeight() + getHeader() + (getVisibleRows() * 18) + 22, 240, ty * 16, 16, 16);
 | 
			
		||||
            drawTexture(x + 172, y + getTabHeight() + getTopHeight() + (getVisibleRows() * 18) + 22, 240, ty * 16, 16, 16);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        j = 0;
 | 
			
		||||
 
 | 
			
		||||
@@ -2,6 +2,7 @@ package com.raoulvdberge.refinedstorage.render;
 | 
			
		||||
 | 
			
		||||
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingPattern;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.ContainerCrafterManager;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.container.slot.SlotCrafterManager;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.item.ItemPattern;
 | 
			
		||||
import com.raoulvdberge.refinedstorage.util.RenderUtils;
 | 
			
		||||
@@ -95,7 +96,7 @@ public class BakedModelPattern implements IBakedModel {
 | 
			
		||||
 | 
			
		||||
        if (container instanceof ContainerCrafterManager) {
 | 
			
		||||
            for (Slot slot : container.inventorySlots) {
 | 
			
		||||
                if (slot instanceof ContainerCrafterManager.SlotCrafterManager && slot.getStack() == stack) {
 | 
			
		||||
                if (slot instanceof SlotCrafterManager && slot.getStack() == stack) {
 | 
			
		||||
                    return true;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user