diff --git a/src/main/java/refinedstorage/block/BlockConstructor.java b/src/main/java/refinedstorage/block/BlockConstructor.java index 07787737a..45a511c9f 100755 --- a/src/main/java/refinedstorage/block/BlockConstructor.java +++ b/src/main/java/refinedstorage/block/BlockConstructor.java @@ -16,6 +16,7 @@ import refinedstorage.tile.TileConstructor; import java.util.ArrayList; import java.util.List; +// @TODO: Connectivity public class BlockConstructor extends BlockCable { public static final AxisAlignedBB HOLDER_NORTH_AABB = createAABB(7, 7, 2, 9, 9, 6); public static final AxisAlignedBB HOLDER_EAST_AABB = createAABB(10, 7, 7, 14, 9, 9); diff --git a/src/main/java/refinedstorage/block/BlockDestructor.java b/src/main/java/refinedstorage/block/BlockDestructor.java index 9a90b2df0..a5cede7ba 100755 --- a/src/main/java/refinedstorage/block/BlockDestructor.java +++ b/src/main/java/refinedstorage/block/BlockDestructor.java @@ -16,6 +16,7 @@ import refinedstorage.tile.TileDestructor; import java.util.List; +// @TODO: Connectivity public class BlockDestructor extends BlockCable { public BlockDestructor(String name) { super(name); diff --git a/src/main/java/refinedstorage/block/BlockDiskManipulator.java b/src/main/java/refinedstorage/block/BlockDiskManipulator.java index ce078fce8..ad22439bb 100755 --- a/src/main/java/refinedstorage/block/BlockDiskManipulator.java +++ b/src/main/java/refinedstorage/block/BlockDiskManipulator.java @@ -14,6 +14,7 @@ import refinedstorage.tile.TileDiskManipulator; import javax.annotation.Nullable; +// @TODO: Connectivity public class BlockDiskManipulator extends BlockNode { public BlockDiskManipulator() { super("disk_manipulator"); diff --git a/src/main/java/refinedstorage/block/BlockGrid.java b/src/main/java/refinedstorage/block/BlockGrid.java index 923502a41..81f7dd289 100755 --- a/src/main/java/refinedstorage/block/BlockGrid.java +++ b/src/main/java/refinedstorage/block/BlockGrid.java @@ -19,6 +19,7 @@ import refinedstorage.tile.grid.TileGrid; import java.util.List; +// @TODO: Better colors public class BlockGrid extends BlockNode { public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumGridType.class); diff --git a/src/main/java/refinedstorage/gui/GuiBase.java b/src/main/java/refinedstorage/gui/GuiBase.java index b9166dd98..7464f658d 100755 --- a/src/main/java/refinedstorage/gui/GuiBase.java +++ b/src/main/java/refinedstorage/gui/GuiBase.java @@ -18,19 +18,17 @@ import refinedstorage.gui.sidebutton.SideButton; import refinedstorage.inventory.ItemHandlerFluid; import java.io.IOException; -import java.util.*; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; public abstract class GuiBase extends GuiContainer { private static final Map TEXTURE_CACHE = new HashMap<>(); public static final FluidRenderer FLUID_RENDERER = new FluidRenderer(-1, 16, 16); - protected static final int SIDE_BUTTON_WIDTH = 20; - protected static final int SIDE_BUTTON_HEIGHT = 20; - - private List sideButtons = new ArrayList<>(); - - private int lastButtonId = 0; + private int lastButtonId; private int lastSideButtonY = 6; protected int width; @@ -47,23 +45,25 @@ public abstract class GuiBase extends GuiContainer { this.ySize = height; } + private boolean hasSideButtons() { + return buttonList.stream().anyMatch(b -> b instanceof SideButton); + } + @Override public void initGui() { - if (sideButtons.size() > 0) { - xSize -= SIDE_BUTTON_WIDTH; + if (hasSideButtons()) { + xSize -= SideButton.WIDTH; } super.initGui(); - sideButtons.clear(); - lastButtonId = 0; lastSideButtonY = 6; init(guiLeft, guiTop); - if (sideButtons.size() > 0) { - xSize += SIDE_BUTTON_WIDTH; + if (hasSideButtons()) { + xSize += SideButton.WIDTH; } } @@ -117,11 +117,10 @@ public abstract class GuiBase extends GuiContainer { String sideButtonTooltip = null; - for (SideButton sideButton : sideButtons) { - sideButton.draw(this, sideButton.getX() + 2, sideButton.getY() + 1); - - if (inBounds(sideButton.getX(), sideButton.getY(), SIDE_BUTTON_WIDTH, SIDE_BUTTON_HEIGHT, mouseX, mouseY)) { - sideButtonTooltip = sideButton.getTooltip(this); + // @TODO: Can this be moved to SideButton itself? + for (GuiButton button : buttonList) { + if (button instanceof SideButton && inBounds(button.xPosition, button.yPosition, SideButton.WIDTH, SideButton.HEIGHT, mouseX, mouseY)) { + sideButtonTooltip = ((SideButton) button).getTooltip(this); } } @@ -147,7 +146,9 @@ public abstract class GuiBase extends GuiContainer { protected void actionPerformed(GuiButton button) throws IOException { super.actionPerformed(button); - sideButtons.stream().filter(b -> b.getId() == button.id).findFirst().ifPresent(SideButton::actionPerformed); + if (button instanceof SideButton) { + ((SideButton) button).actionPerformed(); + } } public GuiButton addButton(int x, int y, int w, int h) { @@ -175,14 +176,16 @@ public abstract class GuiBase extends GuiContainer { return button; } - public void addSideButton(SideButton button) { - button.setX(-SIDE_BUTTON_WIDTH + 1); - button.setY(lastSideButtonY); - button.setId(addButton(guiLeft + button.getX(), guiTop + button.getY(), SIDE_BUTTON_WIDTH, SIDE_BUTTON_HEIGHT).id); + public SideButton addSideButton(SideButton button) { + button.id = lastButtonId++; + button.xPosition = guiLeft + -SideButton.WIDTH + 2; + button.yPosition = guiTop + lastSideButtonY; - lastSideButtonY += SIDE_BUTTON_HEIGHT + 4; + lastSideButtonY += SideButton.HEIGHT + 2; - sideButtons.add(button); + buttonList.add(button); + + return button; } public boolean inBounds(int x, int y, int w, int h, int ox, int oy) { diff --git a/src/main/java/refinedstorage/gui/GuiConstructor.java b/src/main/java/refinedstorage/gui/GuiConstructor.java index b99b7b3cf..3cfff4f2b 100755 --- a/src/main/java/refinedstorage/gui/GuiConstructor.java +++ b/src/main/java/refinedstorage/gui/GuiConstructor.java @@ -14,12 +14,12 @@ public class GuiConstructor extends GuiBase { @Override public void init(int x, int y) { - addSideButton(new SideButtonRedstoneMode(TileConstructor.REDSTONE_MODE)); + addSideButton(new SideButtonRedstoneMode(this, TileConstructor.REDSTONE_MODE)); - addSideButton(new SideButtonType(TileConstructor.TYPE)); + addSideButton(new SideButtonType(this, TileConstructor.TYPE)); - addSideButton(new SideButtonCompare(TileConstructor.COMPARE, CompareUtils.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(TileConstructor.COMPARE, CompareUtils.COMPARE_NBT)); + addSideButton(new SideButtonCompare(this, TileConstructor.COMPARE, CompareUtils.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(this, TileConstructor.COMPARE, CompareUtils.COMPARE_NBT)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiController.java b/src/main/java/refinedstorage/gui/GuiController.java index 2b60bc616..8dfe4d090 100755 --- a/src/main/java/refinedstorage/gui/GuiController.java +++ b/src/main/java/refinedstorage/gui/GuiController.java @@ -29,7 +29,7 @@ public class GuiController extends GuiBase { @Override public void init(int x, int y) { - addSideButton(new SideButtonRedstoneMode(TileController.REDSTONE_MODE)); + addSideButton(new SideButtonRedstoneMode(this, TileController.REDSTONE_MODE)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiCrafter.java b/src/main/java/refinedstorage/gui/GuiCrafter.java index 64358b1be..020df6094 100755 --- a/src/main/java/refinedstorage/gui/GuiCrafter.java +++ b/src/main/java/refinedstorage/gui/GuiCrafter.java @@ -12,8 +12,8 @@ public class GuiCrafter extends GuiBase { @Override public void init(int x, int y) { - addSideButton(new SideButtonRedstoneMode(TileCrafter.REDSTONE_MODE)); - addSideButton(new SideButtonCrafterTriggeredAutocrafting()); + addSideButton(new SideButtonRedstoneMode(this, TileCrafter.REDSTONE_MODE)); + addSideButton(new SideButtonCrafterTriggeredAutocrafting(this)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiCraftingMonitor.java b/src/main/java/refinedstorage/gui/GuiCraftingMonitor.java index ac17bb13b..127c4f123 100755 --- a/src/main/java/refinedstorage/gui/GuiCraftingMonitor.java +++ b/src/main/java/refinedstorage/gui/GuiCraftingMonitor.java @@ -41,7 +41,7 @@ public class GuiCraftingMonitor extends GuiBase { @Override public void init(int x, int y) { - addSideButton(new SideButtonRedstoneMode(TileCraftingMonitor.REDSTONE_MODE)); + addSideButton(new SideButtonRedstoneMode(this, TileCraftingMonitor.REDSTONE_MODE)); String cancel = t("gui.cancel"); String cancelAll = t("misc.refinedstorage:cancel_all"); diff --git a/src/main/java/refinedstorage/gui/GuiDestructor.java b/src/main/java/refinedstorage/gui/GuiDestructor.java index ce2e861e9..5a8023ea7 100755 --- a/src/main/java/refinedstorage/gui/GuiDestructor.java +++ b/src/main/java/refinedstorage/gui/GuiDestructor.java @@ -15,14 +15,14 @@ public class GuiDestructor extends GuiBase { @Override public void init(int x, int y) { - addSideButton(new SideButtonRedstoneMode(TileDestructor.REDSTONE_MODE)); + addSideButton(new SideButtonRedstoneMode(this, TileDestructor.REDSTONE_MODE)); - addSideButton(new SideButtonType(TileDestructor.TYPE)); + addSideButton(new SideButtonType(this, TileDestructor.TYPE)); - addSideButton(new SideButtonMode(TileDestructor.MODE)); + addSideButton(new SideButtonMode(this, TileDestructor.MODE)); - addSideButton(new SideButtonCompare(TileDestructor.COMPARE, CompareUtils.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(TileDestructor.COMPARE, CompareUtils.COMPARE_NBT)); + addSideButton(new SideButtonCompare(this, TileDestructor.COMPARE, CompareUtils.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(this, TileDestructor.COMPARE, CompareUtils.COMPARE_NBT)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiDetector.java b/src/main/java/refinedstorage/gui/GuiDetector.java index 9b9317653..6a2318841 100755 --- a/src/main/java/refinedstorage/gui/GuiDetector.java +++ b/src/main/java/refinedstorage/gui/GuiDetector.java @@ -21,12 +21,12 @@ public class GuiDetector extends GuiBase { @Override public void init(int x, int y) { - addSideButton(new SideButtonType(TileDetector.TYPE)); + addSideButton(new SideButtonType(this, TileDetector.TYPE)); - addSideButton(new SideButtonDetectorMode()); + addSideButton(new SideButtonDetectorMode(this)); - addSideButton(new SideButtonCompare(TileDetector.COMPARE, CompareUtils.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(TileDetector.COMPARE, CompareUtils.COMPARE_NBT)); + addSideButton(new SideButtonCompare(this, TileDetector.COMPARE, CompareUtils.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(this, TileDetector.COMPARE, CompareUtils.COMPARE_NBT)); AMOUNT = new GuiTextField(0, fontRendererObj, x + 62 + 1, y + 23 + 1, 29, fontRendererObj.FONT_HEIGHT); AMOUNT.setText(String.valueOf(TileDetector.AMOUNT.getValue())); diff --git a/src/main/java/refinedstorage/gui/GuiDiskManipulator.java b/src/main/java/refinedstorage/gui/GuiDiskManipulator.java old mode 100644 new mode 100755 index b6ca2672b..9530f39ed --- a/src/main/java/refinedstorage/gui/GuiDiskManipulator.java +++ b/src/main/java/refinedstorage/gui/GuiDiskManipulator.java @@ -12,12 +12,12 @@ public class GuiDiskManipulator extends GuiBase { @Override public void init(int x, int y) { - addSideButton(new SideButtonRedstoneMode(TileDiskManipulator.REDSTONE_MODE)); - addSideButton(new SideButtonIOMode(TileDiskManipulator.IO_MODE)); - addSideButton(new SideButtonType(TileDiskManipulator.TYPE)); - addSideButton(new SideButtonMode(TileDiskManipulator.MODE)); - addSideButton(new SideButtonCompare(TileDiskManipulator.COMPARE, CompareUtils.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(TileDiskManipulator.COMPARE, CompareUtils.COMPARE_NBT)); + addSideButton(new SideButtonRedstoneMode(this, TileDiskManipulator.REDSTONE_MODE)); + addSideButton(new SideButtonIOMode(this, TileDiskManipulator.IO_MODE)); + addSideButton(new SideButtonType(this, TileDiskManipulator.TYPE)); + addSideButton(new SideButtonMode(this, TileDiskManipulator.MODE)); + addSideButton(new SideButtonCompare(this, TileDiskManipulator.COMPARE, CompareUtils.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(this, TileDiskManipulator.COMPARE, CompareUtils.COMPARE_NBT)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiExporter.java b/src/main/java/refinedstorage/gui/GuiExporter.java index edef72ec0..1101b1a25 100755 --- a/src/main/java/refinedstorage/gui/GuiExporter.java +++ b/src/main/java/refinedstorage/gui/GuiExporter.java @@ -14,12 +14,12 @@ public class GuiExporter extends GuiBase { @Override public void init(int x, int y) { - addSideButton(new SideButtonRedstoneMode(TileExporter.REDSTONE_MODE)); + addSideButton(new SideButtonRedstoneMode(this, TileExporter.REDSTONE_MODE)); - addSideButton(new SideButtonType(TileExporter.TYPE)); + addSideButton(new SideButtonType(this, TileExporter.TYPE)); - addSideButton(new SideButtonCompare(TileExporter.COMPARE, CompareUtils.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(TileExporter.COMPARE, CompareUtils.COMPARE_NBT)); + addSideButton(new SideButtonCompare(this, TileExporter.COMPARE, CompareUtils.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(this, TileExporter.COMPARE, CompareUtils.COMPARE_NBT)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiFluidInterface.java b/src/main/java/refinedstorage/gui/GuiFluidInterface.java index 61945d0ab..6ae5f6ce9 100755 --- a/src/main/java/refinedstorage/gui/GuiFluidInterface.java +++ b/src/main/java/refinedstorage/gui/GuiFluidInterface.java @@ -16,9 +16,9 @@ public class GuiFluidInterface extends GuiBase { @Override public void init(int x, int y) { - addSideButton(new SideButtonRedstoneMode(TileFluidInterface.REDSTONE_MODE)); + addSideButton(new SideButtonRedstoneMode(this, TileFluidInterface.REDSTONE_MODE)); - addSideButton(new SideButtonCompare(TileFluidInterface.COMPARE, CompareUtils.COMPARE_NBT)); + addSideButton(new SideButtonCompare(this, TileFluidInterface.COMPARE, CompareUtils.COMPARE_NBT)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiImporter.java b/src/main/java/refinedstorage/gui/GuiImporter.java index 77b1c7c6f..b6cc33877 100755 --- a/src/main/java/refinedstorage/gui/GuiImporter.java +++ b/src/main/java/refinedstorage/gui/GuiImporter.java @@ -15,14 +15,14 @@ public class GuiImporter extends GuiBase { @Override public void init(int x, int y) { - addSideButton(new SideButtonRedstoneMode(TileImporter.REDSTONE_MODE)); + addSideButton(new SideButtonRedstoneMode(this, TileImporter.REDSTONE_MODE)); - addSideButton(new SideButtonType(TileImporter.TYPE)); + addSideButton(new SideButtonType(this, TileImporter.TYPE)); - addSideButton(new SideButtonMode(TileImporter.MODE)); + addSideButton(new SideButtonMode(this, TileImporter.MODE)); - addSideButton(new SideButtonCompare(TileImporter.COMPARE, CompareUtils.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(TileImporter.COMPARE, CompareUtils.COMPARE_NBT)); + addSideButton(new SideButtonCompare(this, TileImporter.COMPARE, CompareUtils.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(this, TileImporter.COMPARE, CompareUtils.COMPARE_NBT)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiInterface.java b/src/main/java/refinedstorage/gui/GuiInterface.java index 627456013..5a058b9e0 100755 --- a/src/main/java/refinedstorage/gui/GuiInterface.java +++ b/src/main/java/refinedstorage/gui/GuiInterface.java @@ -13,10 +13,10 @@ public class GuiInterface extends GuiBase { @Override public void init(int x, int y) { - addSideButton(new SideButtonRedstoneMode(TileInterface.REDSTONE_MODE)); + addSideButton(new SideButtonRedstoneMode(this, TileInterface.REDSTONE_MODE)); - addSideButton(new SideButtonCompare(TileInterface.COMPARE, CompareUtils.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(TileInterface.COMPARE, CompareUtils.COMPARE_NBT)); + addSideButton(new SideButtonCompare(this, TileInterface.COMPARE, CompareUtils.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(this, TileInterface.COMPARE, CompareUtils.COMPARE_NBT)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiNetworkTransmitter.java b/src/main/java/refinedstorage/gui/GuiNetworkTransmitter.java index a5fa375ee..8e09afc5d 100755 --- a/src/main/java/refinedstorage/gui/GuiNetworkTransmitter.java +++ b/src/main/java/refinedstorage/gui/GuiNetworkTransmitter.java @@ -15,7 +15,7 @@ public class GuiNetworkTransmitter extends GuiBase { @Override public void init(int x, int y) { - addSideButton(new SideButtonRedstoneMode(TileNetworkTransmitter.REDSTONE_MODE)); + addSideButton(new SideButtonRedstoneMode(this, TileNetworkTransmitter.REDSTONE_MODE)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiRelay.java b/src/main/java/refinedstorage/gui/GuiRelay.java index 604d4f506..e5adf6c26 100755 --- a/src/main/java/refinedstorage/gui/GuiRelay.java +++ b/src/main/java/refinedstorage/gui/GuiRelay.java @@ -11,7 +11,7 @@ public class GuiRelay extends GuiBase { @Override public void init(int x, int y) { - addSideButton(new SideButtonRedstoneMode(TileRelay.REDSTONE_MODE)); + addSideButton(new SideButtonRedstoneMode(this, TileRelay.REDSTONE_MODE)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiSolderer.java b/src/main/java/refinedstorage/gui/GuiSolderer.java index d02036e91..34cd6067c 100755 --- a/src/main/java/refinedstorage/gui/GuiSolderer.java +++ b/src/main/java/refinedstorage/gui/GuiSolderer.java @@ -15,7 +15,7 @@ public class GuiSolderer extends GuiBase { @Override public void init(int x, int y) { - addSideButton(new SideButtonRedstoneMode(TileSolderer.REDSTONE_MODE)); + addSideButton(new SideButtonRedstoneMode(this, TileSolderer.REDSTONE_MODE)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiStorage.java b/src/main/java/refinedstorage/gui/GuiStorage.java index 631da0bb7..b263ee3fe 100755 --- a/src/main/java/refinedstorage/gui/GuiStorage.java +++ b/src/main/java/refinedstorage/gui/GuiStorage.java @@ -38,20 +38,20 @@ public class GuiStorage extends GuiBase { @Override public void init(int x, int y) { if (gui.getRedstoneModeParameter() != null) { - addSideButton(new SideButtonRedstoneMode(gui.getRedstoneModeParameter())); + addSideButton(new SideButtonRedstoneMode(this, gui.getRedstoneModeParameter())); } if (gui.getTypeParameter() != null) { - addSideButton(new SideButtonType(gui.getTypeParameter())); + addSideButton(new SideButtonType(this, gui.getTypeParameter())); } if (gui.getFilterParameter() != null) { - addSideButton(new SideButtonMode(gui.getFilterParameter())); + addSideButton(new SideButtonMode(this, gui.getFilterParameter())); } if (gui.getCompareParameter() != null) { - addSideButton(new SideButtonCompare(gui.getCompareParameter(), CompareUtils.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(gui.getCompareParameter(), CompareUtils.COMPARE_NBT)); + addSideButton(new SideButtonCompare(this, gui.getCompareParameter(), CompareUtils.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(this, gui.getCompareParameter(), CompareUtils.COMPARE_NBT)); } priorityField = new GuiTextField(0, fontRendererObj, x + 98 + 1, y + 54 + 1, 29, fontRendererObj.FONT_HEIGHT); diff --git a/src/main/java/refinedstorage/gui/GuiWirelessTransmitter.java b/src/main/java/refinedstorage/gui/GuiWirelessTransmitter.java index 2b2dab4f7..82cc11bab 100755 --- a/src/main/java/refinedstorage/gui/GuiWirelessTransmitter.java +++ b/src/main/java/refinedstorage/gui/GuiWirelessTransmitter.java @@ -11,7 +11,7 @@ public class GuiWirelessTransmitter extends GuiBase { @Override public void init(int x, int y) { - addSideButton(new SideButtonRedstoneMode(TileWirelessTransmitter.REDSTONE_MODE)); + addSideButton(new SideButtonRedstoneMode(this, TileWirelessTransmitter.REDSTONE_MODE)); } @Override diff --git a/src/main/java/refinedstorage/gui/grid/GuiGrid.java b/src/main/java/refinedstorage/gui/grid/GuiGrid.java index 6964e6ae4..47960cb9d 100755 --- a/src/main/java/refinedstorage/gui/grid/GuiGrid.java +++ b/src/main/java/refinedstorage/gui/grid/GuiGrid.java @@ -76,7 +76,7 @@ public class GuiGrid extends GuiBase { @Override public void init(int x, int y) { if (grid.getRedstoneModeConfig() != null) { - addSideButton(new SideButtonRedstoneMode(grid.getRedstoneModeConfig())); + addSideButton(new SideButtonRedstoneMode(this, grid.getRedstoneModeConfig())); } int sx = x + 80 + 1; @@ -95,11 +95,11 @@ public class GuiGrid extends GuiBase { } if (grid.getType() != EnumGridType.FLUID) { - addSideButton(new SideButtonGridViewType(grid)); + addSideButton(new SideButtonGridViewType(this, grid)); } - addSideButton(new SideButtonGridSortingDirection(grid)); - addSideButton(new SideButtonGridSortingType(grid)); + addSideButton(new SideButtonGridSortingDirection(this, grid)); + addSideButton(new SideButtonGridSortingType(this, grid)); addSideButton(new SideButtonGridSearchBoxMode(this)); sortItems(); diff --git a/src/main/java/refinedstorage/gui/sidebutton/SideButton.java b/src/main/java/refinedstorage/gui/sidebutton/SideButton.java index ce2e9faf0..2049f20f7 100755 --- a/src/main/java/refinedstorage/gui/sidebutton/SideButton.java +++ b/src/main/java/refinedstorage/gui/sidebutton/SideButton.java @@ -1,39 +1,28 @@ package refinedstorage.gui.sidebutton; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiButton; import refinedstorage.gui.GuiBase; -public abstract class SideButton { - private int id; - private int x; - private int y; +public abstract class SideButton extends GuiButton { + public static final int WIDTH = 18; + public static final int HEIGHT = 18; - public int getId() { - return id; + protected GuiBase gui; + + public SideButton(GuiBase gui) { + super(-1, -1, -1, 18, 18, ""); + + this.gui = gui; } - public void setId(int id) { - this.id = id; - } - - public int getX() { - return x; - } - - public void setX(int x) { - this.x = x; - } - - public int getY() { - return y; - } - - public void setY(int y) { - this.y = y; + @Override + public void drawButton(Minecraft mc, int mouseX, int mouseY) { + gui.bindTexture("icons.png"); + gui.drawTexture(xPosition, yPosition, 238, 16, 18, 18); } public abstract String getTooltip(GuiBase gui); - public abstract void draw(GuiBase gui, int x, int y); - public abstract void actionPerformed(); } diff --git a/src/main/java/refinedstorage/gui/sidebutton/SideButtonCompare.java b/src/main/java/refinedstorage/gui/sidebutton/SideButtonCompare.java index aad6ddfda..9255ae9fd 100755 --- a/src/main/java/refinedstorage/gui/sidebutton/SideButtonCompare.java +++ b/src/main/java/refinedstorage/gui/sidebutton/SideButtonCompare.java @@ -1,5 +1,6 @@ package refinedstorage.gui.sidebutton; +import net.minecraft.client.Minecraft; import net.minecraft.util.text.TextFormatting; import refinedstorage.api.storage.CompareUtils; import refinedstorage.gui.GuiBase; @@ -10,7 +11,9 @@ public class SideButtonCompare extends SideButton { private TileDataParameter parameter; private int mask; - public SideButtonCompare(TileDataParameter parameter, int mask) { + public SideButtonCompare(GuiBase gui, TileDataParameter parameter, int mask) { + super(gui); + this.parameter = parameter; this.mask = mask; } @@ -29,8 +32,8 @@ public class SideButtonCompare extends SideButton { } @Override - public void draw(GuiBase gui, int x, int y) { - gui.bindTexture("icons.png"); + public void drawButton(Minecraft mc, int mouseX, int mouseY) { + super.drawButton(mc, mouseX, mouseY); int ty = 0; @@ -42,7 +45,7 @@ public class SideButtonCompare extends SideButton { int tx = (parameter.getValue() & mask) == mask ? 0 : 16; - gui.drawTexture(x, y + 1, tx, ty, 16, 16); + gui.drawTexture(xPosition, yPosition, tx, ty, 16, 16); } @Override diff --git a/src/main/java/refinedstorage/gui/sidebutton/SideButtonCrafterTriggeredAutocrafting.java b/src/main/java/refinedstorage/gui/sidebutton/SideButtonCrafterTriggeredAutocrafting.java index 259468035..cc5b1b422 100755 --- a/src/main/java/refinedstorage/gui/sidebutton/SideButtonCrafterTriggeredAutocrafting.java +++ b/src/main/java/refinedstorage/gui/sidebutton/SideButtonCrafterTriggeredAutocrafting.java @@ -1,20 +1,26 @@ package refinedstorage.gui.sidebutton; +import net.minecraft.client.Minecraft; import net.minecraft.util.text.TextFormatting; import refinedstorage.gui.GuiBase; import refinedstorage.tile.TileCrafter; import refinedstorage.tile.data.TileDataManager; public class SideButtonCrafterTriggeredAutocrafting extends SideButton { + public SideButtonCrafterTriggeredAutocrafting(GuiBase gui) { + super(gui); + } + @Override public String getTooltip(GuiBase gui) { return TextFormatting.GREEN + gui.t("sidebutton.refinedstorage:crafter.triggered_autocrafting") + TextFormatting.RESET + "\n" + gui.t("gui." + (TileCrafter.TRIGGERED_AUTOCRAFTING.getValue() ? "yes" : "no")); } @Override - public void draw(GuiBase gui, int x, int y) { - gui.bindTexture("icons.png"); - gui.drawTexture(x, y + 2 - 1, 0, 144, 16, 16); + public void drawButton(Minecraft mc, int mouseX, int mouseY) { + super.drawButton(mc, mouseX, mouseY); + + gui.drawTexture(xPosition, yPosition, 0, 144, 16, 16); } @Override diff --git a/src/main/java/refinedstorage/gui/sidebutton/SideButtonDetectorMode.java b/src/main/java/refinedstorage/gui/sidebutton/SideButtonDetectorMode.java index 0bc5e0eee..5d3ded0ca 100755 --- a/src/main/java/refinedstorage/gui/sidebutton/SideButtonDetectorMode.java +++ b/src/main/java/refinedstorage/gui/sidebutton/SideButtonDetectorMode.java @@ -1,21 +1,26 @@ package refinedstorage.gui.sidebutton; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; +import net.minecraft.client.Minecraft; import net.minecraft.util.text.TextFormatting; import refinedstorage.gui.GuiBase; import refinedstorage.tile.TileDetector; import refinedstorage.tile.data.TileDataManager; public class SideButtonDetectorMode extends SideButton { + public SideButtonDetectorMode(GuiBase gui) { + super(gui); + } + @Override public String getTooltip(GuiBase gui) { return TextFormatting.GREEN + gui.t("sidebutton.refinedstorage:detector.mode") + TextFormatting.RESET + "\n" + gui.t("sidebutton.refinedstorage:detector.mode." + TileDetector.MODE.getValue()); } @Override - public void draw(GuiBase gui, int x, int y) { - gui.drawItem(x, y, new ItemStack(Items.REDSTONE, 1)); + public void drawButton(Minecraft mc, int mouseX, int mouseY) { + super.drawButton(mc, mouseX, mouseY); + + // @TODO: Detector side icons } @Override diff --git a/src/main/java/refinedstorage/gui/sidebutton/SideButtonGridSearchBoxMode.java b/src/main/java/refinedstorage/gui/sidebutton/SideButtonGridSearchBoxMode.java index 2b8b14087..d7c955f8b 100755 --- a/src/main/java/refinedstorage/gui/sidebutton/SideButtonGridSearchBoxMode.java +++ b/src/main/java/refinedstorage/gui/sidebutton/SideButtonGridSearchBoxMode.java @@ -1,5 +1,6 @@ package refinedstorage.gui.sidebutton; +import net.minecraft.client.Minecraft; import net.minecraft.util.text.TextFormatting; import refinedstorage.gui.GuiBase; import refinedstorage.gui.grid.GuiGrid; @@ -7,26 +8,25 @@ import refinedstorage.integration.jei.IntegrationJEI; import refinedstorage.tile.grid.TileGrid; public class SideButtonGridSearchBoxMode extends SideButton { - private GuiGrid gui; - public SideButtonGridSearchBoxMode(GuiGrid gui) { - this.gui = gui; + super(gui); } @Override public String getTooltip(GuiBase gui) { - return TextFormatting.YELLOW + gui.t("sidebutton.refinedstorage:grid.search_box_mode") + TextFormatting.RESET + "\n" + gui.t("sidebutton.refinedstorage:grid.search_box_mode." + this.gui.getGrid().getSearchBoxMode()); + return TextFormatting.YELLOW + gui.t("sidebutton.refinedstorage:grid.search_box_mode") + TextFormatting.RESET + "\n" + gui.t("sidebutton.refinedstorage:grid.search_box_mode." + ((GuiGrid) gui).getGrid().getSearchBoxMode()); } @Override - public void draw(GuiBase gui, int x, int y) { - gui.bindTexture("icons.png"); - gui.drawTexture(x, y + 2 - 1, 0, 96, 16, 16); + public void drawButton(Minecraft mc, int mouseX, int mouseY) { + super.drawButton(mc, mouseX, mouseY); + + gui.drawTexture(xPosition, yPosition, 0, 96, 16, 16); } @Override public void actionPerformed() { - int mode = gui.getGrid().getSearchBoxMode(); + int mode = ((GuiGrid) gui).getGrid().getSearchBoxMode(); if (mode == TileGrid.SEARCH_BOX_MODE_NORMAL) { mode = TileGrid.SEARCH_BOX_MODE_NORMAL_AUTOSELECTED; @@ -42,8 +42,8 @@ public class SideButtonGridSearchBoxMode extends SideButton { mode = TileGrid.SEARCH_BOX_MODE_NORMAL; } - gui.getGrid().onSearchBoxModeChanged(mode); + ((GuiGrid) gui).getGrid().onSearchBoxModeChanged(mode); - gui.updateSearchFieldFocus(mode); + ((GuiGrid) gui).updateSearchFieldFocus(mode); } } diff --git a/src/main/java/refinedstorage/gui/sidebutton/SideButtonGridSortingDirection.java b/src/main/java/refinedstorage/gui/sidebutton/SideButtonGridSortingDirection.java index 60f795da4..8b1972b0e 100755 --- a/src/main/java/refinedstorage/gui/sidebutton/SideButtonGridSortingDirection.java +++ b/src/main/java/refinedstorage/gui/sidebutton/SideButtonGridSortingDirection.java @@ -1,5 +1,6 @@ package refinedstorage.gui.sidebutton; +import net.minecraft.client.Minecraft; import net.minecraft.util.text.TextFormatting; import refinedstorage.gui.GuiBase; import refinedstorage.tile.grid.IGrid; @@ -8,7 +9,9 @@ import refinedstorage.tile.grid.TileGrid; public class SideButtonGridSortingDirection extends SideButton { private IGrid grid; - public SideButtonGridSortingDirection(IGrid grid) { + public SideButtonGridSortingDirection(GuiBase gui, IGrid grid) { + super(gui); + this.grid = grid; } @@ -18,9 +21,10 @@ public class SideButtonGridSortingDirection extends SideButton { } @Override - public void draw(GuiBase gui, int x, int y) { - gui.bindTexture("icons.png"); - gui.drawTexture(x, y + 2 - 1, grid.getSortingDirection() * 16, 16, 16, 16); + public void drawButton(Minecraft mc, int x, int y) { + super.drawButton(mc, x, y); + + gui.drawTexture(xPosition, yPosition, grid.getSortingDirection() * 16, 16, 16, 16); } @Override diff --git a/src/main/java/refinedstorage/gui/sidebutton/SideButtonGridSortingType.java b/src/main/java/refinedstorage/gui/sidebutton/SideButtonGridSortingType.java index 70c00071b..9cc606e3b 100755 --- a/src/main/java/refinedstorage/gui/sidebutton/SideButtonGridSortingType.java +++ b/src/main/java/refinedstorage/gui/sidebutton/SideButtonGridSortingType.java @@ -1,5 +1,6 @@ package refinedstorage.gui.sidebutton; +import net.minecraft.client.Minecraft; import net.minecraft.util.text.TextFormatting; import refinedstorage.gui.GuiBase; import refinedstorage.tile.grid.IGrid; @@ -8,7 +9,9 @@ import refinedstorage.tile.grid.TileGrid; public class SideButtonGridSortingType extends SideButton { private IGrid grid; - public SideButtonGridSortingType(IGrid grid) { + public SideButtonGridSortingType(GuiBase gui, IGrid grid) { + super(gui); + this.grid = grid; } @@ -18,9 +21,10 @@ public class SideButtonGridSortingType extends SideButton { } @Override - public void draw(GuiBase gui, int x, int y) { - gui.bindTexture("icons.png"); - gui.drawTexture(x - 1, y + 2 - 1, grid.getSortingType() * 16, 32, 16, 16); + public void drawButton(Minecraft mc, int x, int y) { + super.drawButton(mc, x, y); + + gui.drawTexture(xPosition, yPosition, grid.getSortingType() * 16, 32, 16, 16); } @Override diff --git a/src/main/java/refinedstorage/gui/sidebutton/SideButtonGridViewType.java b/src/main/java/refinedstorage/gui/sidebutton/SideButtonGridViewType.java index 745c64420..6179c1567 100755 --- a/src/main/java/refinedstorage/gui/sidebutton/SideButtonGridViewType.java +++ b/src/main/java/refinedstorage/gui/sidebutton/SideButtonGridViewType.java @@ -1,5 +1,6 @@ package refinedstorage.gui.sidebutton; +import net.minecraft.client.Minecraft; import net.minecraft.util.text.TextFormatting; import refinedstorage.gui.GuiBase; import refinedstorage.tile.grid.IGrid; @@ -8,7 +9,9 @@ import refinedstorage.tile.grid.TileGrid; public class SideButtonGridViewType extends SideButton { private IGrid grid; - public SideButtonGridViewType(IGrid grid) { + public SideButtonGridViewType(GuiBase gui, IGrid grid) { + super(gui); + this.grid = grid; } @@ -18,9 +21,10 @@ public class SideButtonGridViewType extends SideButton { } @Override - public void draw(GuiBase gui, int x, int y) { - gui.bindTexture("icons.png"); - gui.drawTexture(x, y + 2 - 1, grid.getViewType() * 16, 112, 16, 16); + public void drawButton(Minecraft mc, int x, int y) { + super.drawButton(mc, x, y); + + gui.drawTexture(xPosition, yPosition, grid.getViewType() * 16, 112, 16, 16); } @Override diff --git a/src/main/java/refinedstorage/gui/sidebutton/SideButtonIOMode.java b/src/main/java/refinedstorage/gui/sidebutton/SideButtonIOMode.java index 128924568..2c3e60925 100755 --- a/src/main/java/refinedstorage/gui/sidebutton/SideButtonIOMode.java +++ b/src/main/java/refinedstorage/gui/sidebutton/SideButtonIOMode.java @@ -1,5 +1,6 @@ package refinedstorage.gui.sidebutton; +import net.minecraft.client.Minecraft; import net.minecraft.util.text.TextFormatting; import refinedstorage.gui.GuiBase; import refinedstorage.tile.TileDiskManipulator; @@ -9,7 +10,9 @@ import refinedstorage.tile.data.TileDataParameter; public class SideButtonIOMode extends SideButton { private TileDataParameter parameter; - public SideButtonIOMode(TileDataParameter parameter) { + public SideButtonIOMode(GuiBase gui, TileDataParameter parameter) { + super(gui); + this.parameter = parameter; } @@ -19,9 +22,10 @@ public class SideButtonIOMode extends SideButton { } @Override - public void draw(GuiBase gui, int x, int y) { - gui.bindTexture("icons.png"); - gui.drawTexture(x, y + 1, parameter.getValue() == TileDiskManipulator.IO_MODE_EXTRACT ? 0 : 16, 160, 16, 16); + public void drawButton(Minecraft mc, int x, int y) { + super.drawButton(mc, x, y); + + gui.drawTexture(xPosition, yPosition, parameter.getValue() == TileDiskManipulator.IO_MODE_EXTRACT ? 0 : 16, 160, 16, 16); } @Override diff --git a/src/main/java/refinedstorage/gui/sidebutton/SideButtonMode.java b/src/main/java/refinedstorage/gui/sidebutton/SideButtonMode.java index e88283ad7..d63991006 100755 --- a/src/main/java/refinedstorage/gui/sidebutton/SideButtonMode.java +++ b/src/main/java/refinedstorage/gui/sidebutton/SideButtonMode.java @@ -1,5 +1,6 @@ package refinedstorage.gui.sidebutton; +import net.minecraft.client.Minecraft; import net.minecraft.util.text.TextFormatting; import refinedstorage.gui.GuiBase; import refinedstorage.tile.config.IFilterable; @@ -9,7 +10,9 @@ import refinedstorage.tile.data.TileDataParameter; public class SideButtonMode extends SideButton { private TileDataParameter parameter; - public SideButtonMode(TileDataParameter parameter) { + public SideButtonMode(GuiBase gui, TileDataParameter parameter) { + super(gui); + this.parameter = parameter; } @@ -19,10 +22,10 @@ public class SideButtonMode extends SideButton { } @Override - public void draw(GuiBase gui, int x, int y) { - gui.bindTexture("icons.png"); + public void drawButton(Minecraft mc, int x, int y) { + super.drawButton(mc, x, y); - gui.drawTexture(x, y + 1, parameter.getValue() == IFilterable.WHITELIST ? 0 : 16, 64, 16, 16); + gui.drawTexture(xPosition, yPosition, parameter.getValue() == IFilterable.WHITELIST ? 0 : 16, 64, 16, 16); } @Override diff --git a/src/main/java/refinedstorage/gui/sidebutton/SideButtonRedstoneMode.java b/src/main/java/refinedstorage/gui/sidebutton/SideButtonRedstoneMode.java index 77e499eb2..e82b8ae76 100755 --- a/src/main/java/refinedstorage/gui/sidebutton/SideButtonRedstoneMode.java +++ b/src/main/java/refinedstorage/gui/sidebutton/SideButtonRedstoneMode.java @@ -1,5 +1,6 @@ package refinedstorage.gui.sidebutton; +import net.minecraft.client.Minecraft; import net.minecraft.util.text.TextFormatting; import refinedstorage.gui.GuiBase; import refinedstorage.tile.data.TileDataManager; @@ -8,7 +9,9 @@ import refinedstorage.tile.data.TileDataParameter; public class SideButtonRedstoneMode extends SideButton { private TileDataParameter parameter; - public SideButtonRedstoneMode(TileDataParameter parameter) { + public SideButtonRedstoneMode(GuiBase gui, TileDataParameter parameter) { + super(gui); + this.parameter = parameter; } @@ -18,9 +21,10 @@ public class SideButtonRedstoneMode extends SideButton { } @Override - public void draw(GuiBase gui, int x, int y) { - gui.bindTexture("icons.png"); - gui.drawTexture(x, y + 1, parameter.getValue() * 16, 0, 16, 16); + public void drawButton(Minecraft mc, int x, int y) { + super.drawButton(mc, x, y); + + gui.drawTexture(xPosition, yPosition, parameter.getValue() * 16, 0, 16, 16); } @Override diff --git a/src/main/java/refinedstorage/gui/sidebutton/SideButtonType.java b/src/main/java/refinedstorage/gui/sidebutton/SideButtonType.java index 441fe4024..128edd643 100755 --- a/src/main/java/refinedstorage/gui/sidebutton/SideButtonType.java +++ b/src/main/java/refinedstorage/gui/sidebutton/SideButtonType.java @@ -1,5 +1,6 @@ package refinedstorage.gui.sidebutton; +import net.minecraft.client.Minecraft; import net.minecraft.util.text.TextFormatting; import refinedstorage.gui.GuiBase; import refinedstorage.tile.config.IType; @@ -9,7 +10,9 @@ import refinedstorage.tile.data.TileDataParameter; public class SideButtonType extends SideButton { private TileDataParameter type; - public SideButtonType(TileDataParameter type) { + public SideButtonType(GuiBase gui, TileDataParameter type) { + super(gui); + this.type = type; } @@ -19,10 +22,10 @@ public class SideButtonType extends SideButton { } @Override - public void draw(GuiBase gui, int x, int y) { - gui.bindTexture("icons.png"); + public void drawButton(Minecraft mc, int x, int y) { + super.drawButton(mc, x, y); - gui.drawTexture(x, y + 1, 16 * type.getValue(), 128, 16, 16); + gui.drawTexture(xPosition, yPosition, 16 * type.getValue(), 128, 16, 16); } @Override diff --git a/src/main/java/refinedstorage/item/ItemSilicon.java b/src/main/java/refinedstorage/item/ItemSilicon.java index 8217d0b25..8832c88f7 100755 --- a/src/main/java/refinedstorage/item/ItemSilicon.java +++ b/src/main/java/refinedstorage/item/ItemSilicon.java @@ -1,5 +1,6 @@ package refinedstorage.item; +// @TODO: Better texture public class ItemSilicon extends ItemBase { public ItemSilicon() { super("silicon"); diff --git a/src/main/resources/assets/refinedstorage/textures/icons.png b/src/main/resources/assets/refinedstorage/textures/icons.png index 7f1b2e7e9..a4d29d1a6 100755 Binary files a/src/main/resources/assets/refinedstorage/textures/icons.png and b/src/main/resources/assets/refinedstorage/textures/icons.png differ