Initial side button refactor

This commit is contained in:
Raoul Van den Berge
2016-09-27 23:36:40 +02:00
parent 90b4b801c4
commit c755ed605a
36 changed files with 187 additions and 150 deletions

View File

@@ -16,6 +16,7 @@ import refinedstorage.tile.TileConstructor;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
// @TODO: Connectivity
public class BlockConstructor extends BlockCable { public class BlockConstructor extends BlockCable {
public static final AxisAlignedBB HOLDER_NORTH_AABB = createAABB(7, 7, 2, 9, 9, 6); 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); public static final AxisAlignedBB HOLDER_EAST_AABB = createAABB(10, 7, 7, 14, 9, 9);

View File

@@ -16,6 +16,7 @@ import refinedstorage.tile.TileDestructor;
import java.util.List; import java.util.List;
// @TODO: Connectivity
public class BlockDestructor extends BlockCable { public class BlockDestructor extends BlockCable {
public BlockDestructor(String name) { public BlockDestructor(String name) {
super(name); super(name);

View File

@@ -14,6 +14,7 @@ import refinedstorage.tile.TileDiskManipulator;
import javax.annotation.Nullable; import javax.annotation.Nullable;
// @TODO: Connectivity
public class BlockDiskManipulator extends BlockNode { public class BlockDiskManipulator extends BlockNode {
public BlockDiskManipulator() { public BlockDiskManipulator() {
super("disk_manipulator"); super("disk_manipulator");

View File

@@ -19,6 +19,7 @@ import refinedstorage.tile.grid.TileGrid;
import java.util.List; import java.util.List;
// @TODO: Better colors
public class BlockGrid extends BlockNode { public class BlockGrid extends BlockNode {
public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumGridType.class); public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumGridType.class);

View File

@@ -18,19 +18,17 @@ import refinedstorage.gui.sidebutton.SideButton;
import refinedstorage.inventory.ItemHandlerFluid; import refinedstorage.inventory.ItemHandlerFluid;
import java.io.IOException; 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 { public abstract class GuiBase extends GuiContainer {
private static final Map<String, ResourceLocation> TEXTURE_CACHE = new HashMap<>(); private static final Map<String, ResourceLocation> TEXTURE_CACHE = new HashMap<>();
public static final FluidRenderer FLUID_RENDERER = new FluidRenderer(-1, 16, 16); public static final FluidRenderer FLUID_RENDERER = new FluidRenderer(-1, 16, 16);
protected static final int SIDE_BUTTON_WIDTH = 20; private int lastButtonId;
protected static final int SIDE_BUTTON_HEIGHT = 20;
private List<SideButton> sideButtons = new ArrayList<>();
private int lastButtonId = 0;
private int lastSideButtonY = 6; private int lastSideButtonY = 6;
protected int width; protected int width;
@@ -47,23 +45,25 @@ public abstract class GuiBase extends GuiContainer {
this.ySize = height; this.ySize = height;
} }
private boolean hasSideButtons() {
return buttonList.stream().anyMatch(b -> b instanceof SideButton);
}
@Override @Override
public void initGui() { public void initGui() {
if (sideButtons.size() > 0) { if (hasSideButtons()) {
xSize -= SIDE_BUTTON_WIDTH; xSize -= SideButton.WIDTH;
} }
super.initGui(); super.initGui();
sideButtons.clear();
lastButtonId = 0; lastButtonId = 0;
lastSideButtonY = 6; lastSideButtonY = 6;
init(guiLeft, guiTop); init(guiLeft, guiTop);
if (sideButtons.size() > 0) { if (hasSideButtons()) {
xSize += SIDE_BUTTON_WIDTH; xSize += SideButton.WIDTH;
} }
} }
@@ -117,11 +117,10 @@ public abstract class GuiBase extends GuiContainer {
String sideButtonTooltip = null; String sideButtonTooltip = null;
for (SideButton sideButton : sideButtons) { // @TODO: Can this be moved to SideButton itself?
sideButton.draw(this, sideButton.getX() + 2, sideButton.getY() + 1); for (GuiButton button : buttonList) {
if (button instanceof SideButton && inBounds(button.xPosition, button.yPosition, SideButton.WIDTH, SideButton.HEIGHT, mouseX, mouseY)) {
if (inBounds(sideButton.getX(), sideButton.getY(), SIDE_BUTTON_WIDTH, SIDE_BUTTON_HEIGHT, mouseX, mouseY)) { sideButtonTooltip = ((SideButton) button).getTooltip(this);
sideButtonTooltip = sideButton.getTooltip(this);
} }
} }
@@ -147,7 +146,9 @@ public abstract class GuiBase extends GuiContainer {
protected void actionPerformed(GuiButton button) throws IOException { protected void actionPerformed(GuiButton button) throws IOException {
super.actionPerformed(button); 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) { public GuiButton addButton(int x, int y, int w, int h) {
@@ -175,14 +176,16 @@ public abstract class GuiBase extends GuiContainer {
return button; return button;
} }
public void addSideButton(SideButton button) { public SideButton addSideButton(SideButton button) {
button.setX(-SIDE_BUTTON_WIDTH + 1); button.id = lastButtonId++;
button.setY(lastSideButtonY); button.xPosition = guiLeft + -SideButton.WIDTH + 2;
button.setId(addButton(guiLeft + button.getX(), guiTop + button.getY(), SIDE_BUTTON_WIDTH, SIDE_BUTTON_HEIGHT).id); 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) { public boolean inBounds(int x, int y, int w, int h, int ox, int oy) {

View File

@@ -14,12 +14,12 @@ public class GuiConstructor extends GuiBase {
@Override @Override
public void init(int x, int y) { 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(this, TileConstructor.COMPARE, CompareUtils.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(TileConstructor.COMPARE, CompareUtils.COMPARE_NBT)); addSideButton(new SideButtonCompare(this, TileConstructor.COMPARE, CompareUtils.COMPARE_NBT));
} }
@Override @Override

View File

@@ -29,7 +29,7 @@ public class GuiController extends GuiBase {
@Override @Override
public void init(int x, int y) { public void init(int x, int y) {
addSideButton(new SideButtonRedstoneMode(TileController.REDSTONE_MODE)); addSideButton(new SideButtonRedstoneMode(this, TileController.REDSTONE_MODE));
} }
@Override @Override

View File

@@ -12,8 +12,8 @@ public class GuiCrafter extends GuiBase {
@Override @Override
public void init(int x, int y) { public void init(int x, int y) {
addSideButton(new SideButtonRedstoneMode(TileCrafter.REDSTONE_MODE)); addSideButton(new SideButtonRedstoneMode(this, TileCrafter.REDSTONE_MODE));
addSideButton(new SideButtonCrafterTriggeredAutocrafting()); addSideButton(new SideButtonCrafterTriggeredAutocrafting(this));
} }
@Override @Override

View File

@@ -41,7 +41,7 @@ public class GuiCraftingMonitor extends GuiBase {
@Override @Override
public void init(int x, int y) { 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 cancel = t("gui.cancel");
String cancelAll = t("misc.refinedstorage:cancel_all"); String cancelAll = t("misc.refinedstorage:cancel_all");

View File

@@ -15,14 +15,14 @@ public class GuiDestructor extends GuiBase {
@Override @Override
public void init(int x, int y) { 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(this, TileDestructor.COMPARE, CompareUtils.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(TileDestructor.COMPARE, CompareUtils.COMPARE_NBT)); addSideButton(new SideButtonCompare(this, TileDestructor.COMPARE, CompareUtils.COMPARE_NBT));
} }
@Override @Override

View File

@@ -21,12 +21,12 @@ public class GuiDetector extends GuiBase {
@Override @Override
public void init(int x, int y) { 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(this, TileDetector.COMPARE, CompareUtils.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(TileDetector.COMPARE, CompareUtils.COMPARE_NBT)); 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 = new GuiTextField(0, fontRendererObj, x + 62 + 1, y + 23 + 1, 29, fontRendererObj.FONT_HEIGHT);
AMOUNT.setText(String.valueOf(TileDetector.AMOUNT.getValue())); AMOUNT.setText(String.valueOf(TileDetector.AMOUNT.getValue()));

View File

@@ -12,12 +12,12 @@ public class GuiDiskManipulator extends GuiBase {
@Override @Override
public void init(int x, int y) { public void init(int x, int y) {
addSideButton(new SideButtonRedstoneMode(TileDiskManipulator.REDSTONE_MODE)); addSideButton(new SideButtonRedstoneMode(this, TileDiskManipulator.REDSTONE_MODE));
addSideButton(new SideButtonIOMode(TileDiskManipulator.IO_MODE)); addSideButton(new SideButtonIOMode(this, TileDiskManipulator.IO_MODE));
addSideButton(new SideButtonType(TileDiskManipulator.TYPE)); addSideButton(new SideButtonType(this, TileDiskManipulator.TYPE));
addSideButton(new SideButtonMode(TileDiskManipulator.MODE)); addSideButton(new SideButtonMode(this, TileDiskManipulator.MODE));
addSideButton(new SideButtonCompare(TileDiskManipulator.COMPARE, CompareUtils.COMPARE_DAMAGE)); addSideButton(new SideButtonCompare(this, TileDiskManipulator.COMPARE, CompareUtils.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(TileDiskManipulator.COMPARE, CompareUtils.COMPARE_NBT)); addSideButton(new SideButtonCompare(this, TileDiskManipulator.COMPARE, CompareUtils.COMPARE_NBT));
} }
@Override @Override

View File

@@ -14,12 +14,12 @@ public class GuiExporter extends GuiBase {
@Override @Override
public void init(int x, int y) { 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(this, TileExporter.COMPARE, CompareUtils.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(TileExporter.COMPARE, CompareUtils.COMPARE_NBT)); addSideButton(new SideButtonCompare(this, TileExporter.COMPARE, CompareUtils.COMPARE_NBT));
} }
@Override @Override

View File

@@ -16,9 +16,9 @@ public class GuiFluidInterface extends GuiBase {
@Override @Override
public void init(int x, int y) { 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 @Override

View File

@@ -15,14 +15,14 @@ public class GuiImporter extends GuiBase {
@Override @Override
public void init(int x, int y) { 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(this, TileImporter.COMPARE, CompareUtils.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(TileImporter.COMPARE, CompareUtils.COMPARE_NBT)); addSideButton(new SideButtonCompare(this, TileImporter.COMPARE, CompareUtils.COMPARE_NBT));
} }
@Override @Override

View File

@@ -13,10 +13,10 @@ public class GuiInterface extends GuiBase {
@Override @Override
public void init(int x, int y) { 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(this, TileInterface.COMPARE, CompareUtils.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(TileInterface.COMPARE, CompareUtils.COMPARE_NBT)); addSideButton(new SideButtonCompare(this, TileInterface.COMPARE, CompareUtils.COMPARE_NBT));
} }
@Override @Override

View File

@@ -15,7 +15,7 @@ public class GuiNetworkTransmitter extends GuiBase {
@Override @Override
public void init(int x, int y) { public void init(int x, int y) {
addSideButton(new SideButtonRedstoneMode(TileNetworkTransmitter.REDSTONE_MODE)); addSideButton(new SideButtonRedstoneMode(this, TileNetworkTransmitter.REDSTONE_MODE));
} }
@Override @Override

View File

@@ -11,7 +11,7 @@ public class GuiRelay extends GuiBase {
@Override @Override
public void init(int x, int y) { public void init(int x, int y) {
addSideButton(new SideButtonRedstoneMode(TileRelay.REDSTONE_MODE)); addSideButton(new SideButtonRedstoneMode(this, TileRelay.REDSTONE_MODE));
} }
@Override @Override

View File

@@ -15,7 +15,7 @@ public class GuiSolderer extends GuiBase {
@Override @Override
public void init(int x, int y) { public void init(int x, int y) {
addSideButton(new SideButtonRedstoneMode(TileSolderer.REDSTONE_MODE)); addSideButton(new SideButtonRedstoneMode(this, TileSolderer.REDSTONE_MODE));
} }
@Override @Override

View File

@@ -38,20 +38,20 @@ public class GuiStorage extends GuiBase {
@Override @Override
public void init(int x, int y) { public void init(int x, int y) {
if (gui.getRedstoneModeParameter() != null) { if (gui.getRedstoneModeParameter() != null) {
addSideButton(new SideButtonRedstoneMode(gui.getRedstoneModeParameter())); addSideButton(new SideButtonRedstoneMode(this, gui.getRedstoneModeParameter()));
} }
if (gui.getTypeParameter() != null) { if (gui.getTypeParameter() != null) {
addSideButton(new SideButtonType(gui.getTypeParameter())); addSideButton(new SideButtonType(this, gui.getTypeParameter()));
} }
if (gui.getFilterParameter() != null) { if (gui.getFilterParameter() != null) {
addSideButton(new SideButtonMode(gui.getFilterParameter())); addSideButton(new SideButtonMode(this, gui.getFilterParameter()));
} }
if (gui.getCompareParameter() != null) { if (gui.getCompareParameter() != null) {
addSideButton(new SideButtonCompare(gui.getCompareParameter(), CompareUtils.COMPARE_DAMAGE)); addSideButton(new SideButtonCompare(this, gui.getCompareParameter(), CompareUtils.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(gui.getCompareParameter(), CompareUtils.COMPARE_NBT)); addSideButton(new SideButtonCompare(this, gui.getCompareParameter(), CompareUtils.COMPARE_NBT));
} }
priorityField = new GuiTextField(0, fontRendererObj, x + 98 + 1, y + 54 + 1, 29, fontRendererObj.FONT_HEIGHT); priorityField = new GuiTextField(0, fontRendererObj, x + 98 + 1, y + 54 + 1, 29, fontRendererObj.FONT_HEIGHT);

View File

@@ -11,7 +11,7 @@ public class GuiWirelessTransmitter extends GuiBase {
@Override @Override
public void init(int x, int y) { public void init(int x, int y) {
addSideButton(new SideButtonRedstoneMode(TileWirelessTransmitter.REDSTONE_MODE)); addSideButton(new SideButtonRedstoneMode(this, TileWirelessTransmitter.REDSTONE_MODE));
} }
@Override @Override

View File

@@ -76,7 +76,7 @@ public class GuiGrid extends GuiBase {
@Override @Override
public void init(int x, int y) { public void init(int x, int y) {
if (grid.getRedstoneModeConfig() != null) { if (grid.getRedstoneModeConfig() != null) {
addSideButton(new SideButtonRedstoneMode(grid.getRedstoneModeConfig())); addSideButton(new SideButtonRedstoneMode(this, grid.getRedstoneModeConfig()));
} }
int sx = x + 80 + 1; int sx = x + 80 + 1;
@@ -95,11 +95,11 @@ public class GuiGrid extends GuiBase {
} }
if (grid.getType() != EnumGridType.FLUID) { if (grid.getType() != EnumGridType.FLUID) {
addSideButton(new SideButtonGridViewType(grid)); addSideButton(new SideButtonGridViewType(this, grid));
} }
addSideButton(new SideButtonGridSortingDirection(grid)); addSideButton(new SideButtonGridSortingDirection(this, grid));
addSideButton(new SideButtonGridSortingType(grid)); addSideButton(new SideButtonGridSortingType(this, grid));
addSideButton(new SideButtonGridSearchBoxMode(this)); addSideButton(new SideButtonGridSearchBoxMode(this));
sortItems(); sortItems();

View File

@@ -1,39 +1,28 @@
package refinedstorage.gui.sidebutton; package refinedstorage.gui.sidebutton;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import refinedstorage.gui.GuiBase; import refinedstorage.gui.GuiBase;
public abstract class SideButton { public abstract class SideButton extends GuiButton {
private int id; public static final int WIDTH = 18;
private int x; public static final int HEIGHT = 18;
private int y;
public int getId() { protected GuiBase gui;
return id;
public SideButton(GuiBase gui) {
super(-1, -1, -1, 18, 18, "");
this.gui = gui;
} }
public void setId(int id) { @Override
this.id = id; public void drawButton(Minecraft mc, int mouseX, int mouseY) {
} gui.bindTexture("icons.png");
gui.drawTexture(xPosition, yPosition, 238, 16, 18, 18);
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;
} }
public abstract String getTooltip(GuiBase gui); public abstract String getTooltip(GuiBase gui);
public abstract void draw(GuiBase gui, int x, int y);
public abstract void actionPerformed(); public abstract void actionPerformed();
} }

View File

@@ -1,5 +1,6 @@
package refinedstorage.gui.sidebutton; package refinedstorage.gui.sidebutton;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import refinedstorage.api.storage.CompareUtils; import refinedstorage.api.storage.CompareUtils;
import refinedstorage.gui.GuiBase; import refinedstorage.gui.GuiBase;
@@ -10,7 +11,9 @@ public class SideButtonCompare extends SideButton {
private TileDataParameter<Integer> parameter; private TileDataParameter<Integer> parameter;
private int mask; private int mask;
public SideButtonCompare(TileDataParameter<Integer> parameter, int mask) { public SideButtonCompare(GuiBase gui, TileDataParameter<Integer> parameter, int mask) {
super(gui);
this.parameter = parameter; this.parameter = parameter;
this.mask = mask; this.mask = mask;
} }
@@ -29,8 +32,8 @@ public class SideButtonCompare extends SideButton {
} }
@Override @Override
public void draw(GuiBase gui, int x, int y) { public void drawButton(Minecraft mc, int mouseX, int mouseY) {
gui.bindTexture("icons.png"); super.drawButton(mc, mouseX, mouseY);
int ty = 0; int ty = 0;
@@ -42,7 +45,7 @@ public class SideButtonCompare extends SideButton {
int tx = (parameter.getValue() & mask) == mask ? 0 : 16; 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 @Override

View File

@@ -1,20 +1,26 @@
package refinedstorage.gui.sidebutton; package refinedstorage.gui.sidebutton;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import refinedstorage.gui.GuiBase; import refinedstorage.gui.GuiBase;
import refinedstorage.tile.TileCrafter; import refinedstorage.tile.TileCrafter;
import refinedstorage.tile.data.TileDataManager; import refinedstorage.tile.data.TileDataManager;
public class SideButtonCrafterTriggeredAutocrafting extends SideButton { public class SideButtonCrafterTriggeredAutocrafting extends SideButton {
public SideButtonCrafterTriggeredAutocrafting(GuiBase gui) {
super(gui);
}
@Override @Override
public String getTooltip(GuiBase gui) { 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")); return TextFormatting.GREEN + gui.t("sidebutton.refinedstorage:crafter.triggered_autocrafting") + TextFormatting.RESET + "\n" + gui.t("gui." + (TileCrafter.TRIGGERED_AUTOCRAFTING.getValue() ? "yes" : "no"));
} }
@Override @Override
public void draw(GuiBase gui, int x, int y) { public void drawButton(Minecraft mc, int mouseX, int mouseY) {
gui.bindTexture("icons.png"); super.drawButton(mc, mouseX, mouseY);
gui.drawTexture(x, y + 2 - 1, 0, 144, 16, 16);
gui.drawTexture(xPosition, yPosition, 0, 144, 16, 16);
} }
@Override @Override

View File

@@ -1,21 +1,26 @@
package refinedstorage.gui.sidebutton; package refinedstorage.gui.sidebutton;
import net.minecraft.init.Items; import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import refinedstorage.gui.GuiBase; import refinedstorage.gui.GuiBase;
import refinedstorage.tile.TileDetector; import refinedstorage.tile.TileDetector;
import refinedstorage.tile.data.TileDataManager; import refinedstorage.tile.data.TileDataManager;
public class SideButtonDetectorMode extends SideButton { public class SideButtonDetectorMode extends SideButton {
public SideButtonDetectorMode(GuiBase gui) {
super(gui);
}
@Override @Override
public String getTooltip(GuiBase gui) { 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()); return TextFormatting.GREEN + gui.t("sidebutton.refinedstorage:detector.mode") + TextFormatting.RESET + "\n" + gui.t("sidebutton.refinedstorage:detector.mode." + TileDetector.MODE.getValue());
} }
@Override @Override
public void draw(GuiBase gui, int x, int y) { public void drawButton(Minecraft mc, int mouseX, int mouseY) {
gui.drawItem(x, y, new ItemStack(Items.REDSTONE, 1)); super.drawButton(mc, mouseX, mouseY);
// @TODO: Detector side icons
} }
@Override @Override

View File

@@ -1,5 +1,6 @@
package refinedstorage.gui.sidebutton; package refinedstorage.gui.sidebutton;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import refinedstorage.gui.GuiBase; import refinedstorage.gui.GuiBase;
import refinedstorage.gui.grid.GuiGrid; import refinedstorage.gui.grid.GuiGrid;
@@ -7,26 +8,25 @@ import refinedstorage.integration.jei.IntegrationJEI;
import refinedstorage.tile.grid.TileGrid; import refinedstorage.tile.grid.TileGrid;
public class SideButtonGridSearchBoxMode extends SideButton { public class SideButtonGridSearchBoxMode extends SideButton {
private GuiGrid gui;
public SideButtonGridSearchBoxMode(GuiGrid gui) { public SideButtonGridSearchBoxMode(GuiGrid gui) {
this.gui = gui; super(gui);
} }
@Override @Override
public String getTooltip(GuiBase gui) { 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 @Override
public void draw(GuiBase gui, int x, int y) { public void drawButton(Minecraft mc, int mouseX, int mouseY) {
gui.bindTexture("icons.png"); super.drawButton(mc, mouseX, mouseY);
gui.drawTexture(x, y + 2 - 1, 0, 96, 16, 16);
gui.drawTexture(xPosition, yPosition, 0, 96, 16, 16);
} }
@Override @Override
public void actionPerformed() { public void actionPerformed() {
int mode = gui.getGrid().getSearchBoxMode(); int mode = ((GuiGrid) gui).getGrid().getSearchBoxMode();
if (mode == TileGrid.SEARCH_BOX_MODE_NORMAL) { if (mode == TileGrid.SEARCH_BOX_MODE_NORMAL) {
mode = TileGrid.SEARCH_BOX_MODE_NORMAL_AUTOSELECTED; mode = TileGrid.SEARCH_BOX_MODE_NORMAL_AUTOSELECTED;
@@ -42,8 +42,8 @@ public class SideButtonGridSearchBoxMode extends SideButton {
mode = TileGrid.SEARCH_BOX_MODE_NORMAL; mode = TileGrid.SEARCH_BOX_MODE_NORMAL;
} }
gui.getGrid().onSearchBoxModeChanged(mode); ((GuiGrid) gui).getGrid().onSearchBoxModeChanged(mode);
gui.updateSearchFieldFocus(mode); ((GuiGrid) gui).updateSearchFieldFocus(mode);
} }
} }

View File

@@ -1,5 +1,6 @@
package refinedstorage.gui.sidebutton; package refinedstorage.gui.sidebutton;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import refinedstorage.gui.GuiBase; import refinedstorage.gui.GuiBase;
import refinedstorage.tile.grid.IGrid; import refinedstorage.tile.grid.IGrid;
@@ -8,7 +9,9 @@ import refinedstorage.tile.grid.TileGrid;
public class SideButtonGridSortingDirection extends SideButton { public class SideButtonGridSortingDirection extends SideButton {
private IGrid grid; private IGrid grid;
public SideButtonGridSortingDirection(IGrid grid) { public SideButtonGridSortingDirection(GuiBase gui, IGrid grid) {
super(gui);
this.grid = grid; this.grid = grid;
} }
@@ -18,9 +21,10 @@ public class SideButtonGridSortingDirection extends SideButton {
} }
@Override @Override
public void draw(GuiBase gui, int x, int y) { public void drawButton(Minecraft mc, int x, int y) {
gui.bindTexture("icons.png"); super.drawButton(mc, x, y);
gui.drawTexture(x, y + 2 - 1, grid.getSortingDirection() * 16, 16, 16, 16);
gui.drawTexture(xPosition, yPosition, grid.getSortingDirection() * 16, 16, 16, 16);
} }
@Override @Override

View File

@@ -1,5 +1,6 @@
package refinedstorage.gui.sidebutton; package refinedstorage.gui.sidebutton;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import refinedstorage.gui.GuiBase; import refinedstorage.gui.GuiBase;
import refinedstorage.tile.grid.IGrid; import refinedstorage.tile.grid.IGrid;
@@ -8,7 +9,9 @@ import refinedstorage.tile.grid.TileGrid;
public class SideButtonGridSortingType extends SideButton { public class SideButtonGridSortingType extends SideButton {
private IGrid grid; private IGrid grid;
public SideButtonGridSortingType(IGrid grid) { public SideButtonGridSortingType(GuiBase gui, IGrid grid) {
super(gui);
this.grid = grid; this.grid = grid;
} }
@@ -18,9 +21,10 @@ public class SideButtonGridSortingType extends SideButton {
} }
@Override @Override
public void draw(GuiBase gui, int x, int y) { public void drawButton(Minecraft mc, int x, int y) {
gui.bindTexture("icons.png"); super.drawButton(mc, x, y);
gui.drawTexture(x - 1, y + 2 - 1, grid.getSortingType() * 16, 32, 16, 16);
gui.drawTexture(xPosition, yPosition, grid.getSortingType() * 16, 32, 16, 16);
} }
@Override @Override

View File

@@ -1,5 +1,6 @@
package refinedstorage.gui.sidebutton; package refinedstorage.gui.sidebutton;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import refinedstorage.gui.GuiBase; import refinedstorage.gui.GuiBase;
import refinedstorage.tile.grid.IGrid; import refinedstorage.tile.grid.IGrid;
@@ -8,7 +9,9 @@ import refinedstorage.tile.grid.TileGrid;
public class SideButtonGridViewType extends SideButton { public class SideButtonGridViewType extends SideButton {
private IGrid grid; private IGrid grid;
public SideButtonGridViewType(IGrid grid) { public SideButtonGridViewType(GuiBase gui, IGrid grid) {
super(gui);
this.grid = grid; this.grid = grid;
} }
@@ -18,9 +21,10 @@ public class SideButtonGridViewType extends SideButton {
} }
@Override @Override
public void draw(GuiBase gui, int x, int y) { public void drawButton(Minecraft mc, int x, int y) {
gui.bindTexture("icons.png"); super.drawButton(mc, x, y);
gui.drawTexture(x, y + 2 - 1, grid.getViewType() * 16, 112, 16, 16);
gui.drawTexture(xPosition, yPosition, grid.getViewType() * 16, 112, 16, 16);
} }
@Override @Override

View File

@@ -1,5 +1,6 @@
package refinedstorage.gui.sidebutton; package refinedstorage.gui.sidebutton;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import refinedstorage.gui.GuiBase; import refinedstorage.gui.GuiBase;
import refinedstorage.tile.TileDiskManipulator; import refinedstorage.tile.TileDiskManipulator;
@@ -9,7 +10,9 @@ import refinedstorage.tile.data.TileDataParameter;
public class SideButtonIOMode extends SideButton { public class SideButtonIOMode extends SideButton {
private TileDataParameter<Integer> parameter; private TileDataParameter<Integer> parameter;
public SideButtonIOMode(TileDataParameter<Integer> parameter) { public SideButtonIOMode(GuiBase gui, TileDataParameter<Integer> parameter) {
super(gui);
this.parameter = parameter; this.parameter = parameter;
} }
@@ -19,9 +22,10 @@ public class SideButtonIOMode extends SideButton {
} }
@Override @Override
public void draw(GuiBase gui, int x, int y) { public void drawButton(Minecraft mc, int x, int y) {
gui.bindTexture("icons.png"); super.drawButton(mc, x, y);
gui.drawTexture(x, y + 1, parameter.getValue() == TileDiskManipulator.IO_MODE_EXTRACT ? 0 : 16, 160, 16, 16);
gui.drawTexture(xPosition, yPosition, parameter.getValue() == TileDiskManipulator.IO_MODE_EXTRACT ? 0 : 16, 160, 16, 16);
} }
@Override @Override

View File

@@ -1,5 +1,6 @@
package refinedstorage.gui.sidebutton; package refinedstorage.gui.sidebutton;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import refinedstorage.gui.GuiBase; import refinedstorage.gui.GuiBase;
import refinedstorage.tile.config.IFilterable; import refinedstorage.tile.config.IFilterable;
@@ -9,7 +10,9 @@ import refinedstorage.tile.data.TileDataParameter;
public class SideButtonMode extends SideButton { public class SideButtonMode extends SideButton {
private TileDataParameter<Integer> parameter; private TileDataParameter<Integer> parameter;
public SideButtonMode(TileDataParameter<Integer> parameter) { public SideButtonMode(GuiBase gui, TileDataParameter<Integer> parameter) {
super(gui);
this.parameter = parameter; this.parameter = parameter;
} }
@@ -19,10 +22,10 @@ public class SideButtonMode extends SideButton {
} }
@Override @Override
public void draw(GuiBase gui, int x, int y) { public void drawButton(Minecraft mc, int x, int y) {
gui.bindTexture("icons.png"); 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 @Override

View File

@@ -1,5 +1,6 @@
package refinedstorage.gui.sidebutton; package refinedstorage.gui.sidebutton;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import refinedstorage.gui.GuiBase; import refinedstorage.gui.GuiBase;
import refinedstorage.tile.data.TileDataManager; import refinedstorage.tile.data.TileDataManager;
@@ -8,7 +9,9 @@ import refinedstorage.tile.data.TileDataParameter;
public class SideButtonRedstoneMode extends SideButton { public class SideButtonRedstoneMode extends SideButton {
private TileDataParameter<Integer> parameter; private TileDataParameter<Integer> parameter;
public SideButtonRedstoneMode(TileDataParameter<Integer> parameter) { public SideButtonRedstoneMode(GuiBase gui, TileDataParameter<Integer> parameter) {
super(gui);
this.parameter = parameter; this.parameter = parameter;
} }
@@ -18,9 +21,10 @@ public class SideButtonRedstoneMode extends SideButton {
} }
@Override @Override
public void draw(GuiBase gui, int x, int y) { public void drawButton(Minecraft mc, int x, int y) {
gui.bindTexture("icons.png"); super.drawButton(mc, x, y);
gui.drawTexture(x, y + 1, parameter.getValue() * 16, 0, 16, 16);
gui.drawTexture(xPosition, yPosition, parameter.getValue() * 16, 0, 16, 16);
} }
@Override @Override

View File

@@ -1,5 +1,6 @@
package refinedstorage.gui.sidebutton; package refinedstorage.gui.sidebutton;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import refinedstorage.gui.GuiBase; import refinedstorage.gui.GuiBase;
import refinedstorage.tile.config.IType; import refinedstorage.tile.config.IType;
@@ -9,7 +10,9 @@ import refinedstorage.tile.data.TileDataParameter;
public class SideButtonType extends SideButton { public class SideButtonType extends SideButton {
private TileDataParameter<Integer> type; private TileDataParameter<Integer> type;
public SideButtonType(TileDataParameter<Integer> type) { public SideButtonType(GuiBase gui, TileDataParameter<Integer> type) {
super(gui);
this.type = type; this.type = type;
} }
@@ -19,10 +22,10 @@ public class SideButtonType extends SideButton {
} }
@Override @Override
public void draw(GuiBase gui, int x, int y) { public void drawButton(Minecraft mc, int x, int y) {
gui.bindTexture("icons.png"); 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 @Override

View File

@@ -1,5 +1,6 @@
package refinedstorage.item; package refinedstorage.item;
// @TODO: Better texture
public class ItemSilicon extends ItemBase { public class ItemSilicon extends ItemBase {
public ItemSilicon() { public ItemSilicon() {
super("silicon"); super("silicon");

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB