diff options
| author | miozune <miozune@gmail.com> | 2024-08-16 22:26:16 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-16 22:26:16 +0900 |
| commit | 83ebeadd3b867f45914972f4573211b3324ca433 (patch) | |
| tree | 02acdcbb7cda6ee8c72cf7b4f575aa6591373d74 /src/main/java/gregtech/api/gui/widgets | |
| parent | 07610983b13813893b482e2c1a050355fd007c60 (diff) | |
| download | GT5-Unofficial-83ebeadd3b867f45914972f4573211b3324ca433.tar.gz GT5-Unofficial-83ebeadd3b867f45914972f4573211b3324ca433.tar.bz2 GT5-Unofficial-83ebeadd3b867f45914972f4573211b3324ca433.zip | |
Cleanup (#2904)
* Remove redundant inputSeparation=true call
* Remove deprecated MetaTileEntity#isDisplaySecondaryDescription
* Always use ModularUI
* Remove useModularUI
* Remove unused GUI features
* Remove IGlobalWirelessEnergy
* Remove CommonValues.V & CommonValues.VN
* More deprecation cleanup
---------
Co-authored-by: boubou19 <miisterunknown@gmail.com>
Diffstat (limited to 'src/main/java/gregtech/api/gui/widgets')
12 files changed, 0 insertions, 1428 deletions
diff --git a/src/main/java/gregtech/api/gui/widgets/GT_GuiCoverTabLine.java b/src/main/java/gregtech/api/gui/widgets/GT_GuiCoverTabLine.java deleted file mode 100644 index 6f4eb0e2c2..0000000000 --- a/src/main/java/gregtech/api/gui/widgets/GT_GuiCoverTabLine.java +++ /dev/null @@ -1,179 +0,0 @@ -package gregtech.api.gui.widgets; - -import java.awt.Rectangle; -import java.util.List; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; -import net.minecraftforge.common.util.ForgeDirection; - -import org.lwjgl.opengl.GL11; - -import codechicken.nei.api.API; -import codechicken.nei.api.INEIGuiAdapter; -import gregtech.api.enums.GT_Values; -import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.net.GT_Packet_GtTileEntityGuiRequest; -import gregtech.common.GT_Proxy; - -/** - * Let's you access a GregTech IGregTechTileEntity's covers as tabs on the GUI's sides - */ -public class GT_GuiCoverTabLine extends GT_GuiTabLine { - - // Names of the block a cover could be on - private static final String[] SIDES = new String[] { "GT5U.interface.coverTabs.down", "GT5U.interface.coverTabs.up", - "GT5U.interface.coverTabs.north", "GT5U.interface.coverTabs.south", "GT5U.interface.coverTabs.west", - "GT5U.interface.coverTabs.east" }; - - // Not sure if there's a point in JIT translation but that's what this is - private final String[] translatedSides; - private final IGregTechTileEntity tile; - private final int colorization; - - /** - * Let's you access an IGregTechTileEntity's covers as tabs on the GUI's sides - * - * @param gui GT_ITabRenderer gui which this tab line attaches to - * @param tabLineLeft left position of the tab line in relation to the gui - * @param tabLineTop top position of the tab line in relation to the gui - * @param tabHeight height of a tab - * @param tabWidth width of a tab - * @param tabSpacing pixels between each tab - * @param xDir whether to extend the line horizontally to the right (NORMAL), the left (INVERSE) or not at - * all (NONE) - * @param yDir whether to extend the line vertically down (NORMAL), up (INVERSE) or not at all (NONE) - * @param displayMode whether to display on the left side of the GT_ITabRenderer (NORMAL), on it's right side - * (INVERSE) or not at all (NONE) - * @param tabBackground the set of textures used to draw this tab line's tab backgrounds - * @param tile The IGregTechTileEntity the covers of which we are accessing - * @param colorization The colorization of the GUI we are adding tabs to - */ - public GT_GuiCoverTabLine(GT_GUIContainerMetaTile_Machine gui, int tabLineLeft, int tabLineTop, int tabHeight, - int tabWidth, int tabSpacing, DisplayStyle xDir, DisplayStyle yDir, DisplayStyle displayMode, - GT_GuiTabIconSet tabBackground, IGregTechTileEntity tile, int colorization) { - super(gui, 6, tabLineLeft, tabLineTop, tabHeight, tabWidth, tabSpacing, xDir, yDir, displayMode, tabBackground); - this.tile = tile; - this.colorization = colorization; - this.translatedSides = new String[6]; - setupTabs(); - } - - /** - * Add a tab for each existing cover on this IGregTechTileEntity at creation time - */ - private void setupTabs() { - for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { - final ItemStack cover = tile.getCoverItemAtSide(side); - if (cover != null) { - addCoverToTabs(side, cover); - } - } - } - - @Override - protected void drawBackground(float parTicks, int mouseX, int mouseY) { - // Apply this tile's coloration to draw the background - GL11.glColor3ub( - (byte) ((colorization >> 16) & 0xFF), - (byte) ((colorization >> 8) & 0xFF), - (byte) (colorization & 0xFF)); - super.drawBackground(parTicks, mouseX, mouseY); - } - - @Override - protected void tabClicked(int tabId, int mouseButton) { - if (mouseButton == 0 && mTabs[tabId].enabled) { - GT_Values.NW.sendToServer( - new GT_Packet_GtTileEntityGuiRequest( - this.tile.getXCoord(), - this.tile.getYCoord(), - this.tile.getZCoord(), - tabId + GT_Proxy.GUI_ID_COVER_SIDE_BASE, - this.tile.getWorld().provider.dimensionId, - Minecraft.getMinecraft().thePlayer.getEntityId(), - 0)); - } - } - - /** - * Add the cover on this side of the IGregTechTileEntity to the tabs - * - * @param side side to apply the cover to - * @param cover cover to add - */ - private void addCoverToTabs(ForgeDirection side, ItemStack cover) { - final boolean enabled = this.tile.getCoverBehaviorAtSideNew(side) - .hasCoverGUI(); - final int ordinalSide = side.ordinal(); - this.setTab(ordinalSide, cover, null, getTooltipForCoverTab(side, cover, enabled)); - this.setTabEnabled(ordinalSide, enabled); - } - - /** - * Decorate the cover's tooltips according to the side it's on and on whether the tab is enabled or not - * - * @param side side - * @param cover cover which tooltip to decorate - * @param enabled if the tab is enabled - * @return This cover tab's tooltip - */ - private String[] getTooltipForCoverTab(ForgeDirection side, ItemStack cover, boolean enabled) { - final List<String> tooltip = cover.getTooltip(Minecraft.getMinecraft().thePlayer, true); - tooltip.set( - 0, - (enabled ? EnumChatFormatting.UNDERLINE : EnumChatFormatting.DARK_GRAY) + getSideDescription(side) - + (enabled ? EnumChatFormatting.RESET + ": " : ": " + EnumChatFormatting.RESET) - + tooltip.get(0)); - return tooltip.toArray(new String[0]); - } - - /** - * Get the translated name for a side of the IGregTechTileEntity - * - * @param side side of the entity - * @return translated name for a side of the IGregTechTileEntity - */ - private String getSideDescription(ForgeDirection side) { - final int ordinalSide = side.ordinal(); - if (ordinalSide < SIDES.length) { - if (this.translatedSides[ordinalSide] == null) { - this.translatedSides[ordinalSide] = StatCollector.translateToLocal(SIDES[ordinalSide]); - } - return this.translatedSides[ordinalSide]; - } - return null; - } - - /** - * Hide any NEI slots that would intersect with a cover tab - */ - static class CoverTabLineNEIHandler extends INEIGuiAdapter { - - @Override - public boolean hideItemPanelSlot(GuiContainer gui, int x, int y, int w, int h) { - final Rectangle neiSlotArea = new Rectangle(x, y, w, h); - if (gui instanceof GT_GUIContainerMetaTile_Machine) { - final GT_GuiTabLine tabLine = ((GT_GUIContainerMetaTile_Machine) gui).coverTabs; - if (!tabLine.visible) { - return false; - } - for (int i = 0; i < tabLine.mTabs.length; i++) { - if (tabLine.mTabs[i] != null && tabLine.mTabs[i].getBounds() - .intersects(neiSlotArea)) { - return true; - } - } - } - return false; - } - } - - static { - API.registerNEIGuiHandler(new CoverTabLineNEIHandler()); - } -} diff --git a/src/main/java/gregtech/api/gui/widgets/GT_GuiFakeItemButton.java b/src/main/java/gregtech/api/gui/widgets/GT_GuiFakeItemButton.java deleted file mode 100644 index 9f4287a65b..0000000000 --- a/src/main/java/gregtech/api/gui/widgets/GT_GuiFakeItemButton.java +++ /dev/null @@ -1,162 +0,0 @@ -package gregtech.api.gui.widgets; - -import java.awt.Rectangle; -import java.util.List; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import codechicken.lib.gui.GuiDraw; -import gregtech.api.interfaces.IGuiScreen; -import gregtech.api.util.GT_UtilityClient; - -public class GT_GuiFakeItemButton implements IGuiScreen.IGuiElement { - - private GT_GuiIcon bgIcon; - private ItemStack item; - private final IGuiScreen gui; - private int xPosition, yPosition; - private List<String> itemTooltips; - private final GT_GuiTooltip tooltip = new GT_GuiTooltip(null) { - - @Override - public List<String> getToolTipText() { - return itemTooltips; - } - - @Override - public boolean isDelayed() { - return false; - } - - @Override - public Rectangle getBounds() { - return GT_GuiFakeItemButton.this.getBounds(); - } - }; - private final Rectangle rectangle; - private boolean mimicSlot; - - public GT_GuiFakeItemButton(IGuiScreen gui, int x, int y, GT_GuiIcon bgIcon) { - this.gui = gui; - this.bgIcon = bgIcon; - item = null; - rectangle = new Rectangle(x, y, 18, 18); - gui.addElement(this); - } - - public GT_GuiFakeItemButton setItem(ItemStack i) { - item = i; - if (getMimicSlot()) updateTooltip(); - return this; - } - - private void updateTooltip() { - itemTooltips = item == null ? null : GT_UtilityClient.getTooltip(item, true); - } - - public ItemStack getItem() { - return item; - } - - public GT_GuiFakeItemButton setMimicSlot(boolean mimicSlot) { - if (mimicSlot != this.mimicSlot) { - if (mimicSlot) { - updateTooltip(); - gui.addToolTip(tooltip); - } else { - gui.removeToolTip(tooltip); - } - this.mimicSlot = mimicSlot; - } - return this; - } - - public boolean getMimicSlot() { - return mimicSlot; - } - - public GT_GuiIcon getBgIcon() { - return bgIcon; - } - - public GT_GuiFakeItemButton setBgIcon(GT_GuiIcon bgIcon) { - this.bgIcon = bgIcon; - return this; - } - - @Override - public void onInit() { - xPosition = rectangle.x + gui.getGuiLeft(); - yPosition = rectangle.y + gui.getGuiTop(); - } - - @Override - public void onRemoved() { - if (mimicSlot) gui.removeToolTip(tooltip); - } - - @Override - public void draw(int mouseX, int mouseY, float parTicks) { - GL11.glColor4f(1, 1, 1, 1); - GL11.glPushAttrib(GL11.GL_ENABLE_BIT); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - - if (bgIcon != null) { - GT_GuiIcon.render(bgIcon, xPosition - 1, yPosition - 1, 18, 18, 0, true); - } - - if (item != null) { - if (item.getItem() instanceof ItemBlock) { - GL11.glPushAttrib(GL11.GL_ENABLE_BIT); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - } - gui.getItemRenderer() - .renderItemAndEffectIntoGUI( - gui.getFontRenderer(), - Minecraft.getMinecraft() - .getTextureManager(), - item, - xPosition, - yPosition); - - if (item.getItem() instanceof ItemBlock) GL11.glPopAttrib(); - } - - if (getMimicSlot()) if (getBounds().contains(mouseX - gui.getGuiLeft(), mouseY - gui.getGuiTop())) { - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_DEPTH_TEST); - GL11.glColorMask(true, true, true, false); - GuiDraw.drawGradientRect(xPosition, yPosition, 16, 16, 0x80ffffff, 0x80ffffff); - GL11.glColorMask(true, true, true, true); - // no glEnable, state will be recovered by glPopAttrib - } - - GL11.glPopAttrib(); - } - - public Rectangle getBounds() { - return rectangle; - } - - public void setX(int x) { - rectangle.x = x; - } - - public void setY(int y) { - rectangle.y = y; - } - - public void setWidth(int width) { - rectangle.width = width; - } - - public void setHeight(int height) { - rectangle.height = height; - } -} diff --git a/src/main/java/gregtech/api/gui/widgets/GT_GuiIcon.java b/src/main/java/gregtech/api/gui/widgets/GT_GuiIcon.java deleted file mode 100644 index 66ab27356e..0000000000 --- a/src/main/java/gregtech/api/gui/widgets/GT_GuiIcon.java +++ /dev/null @@ -1,157 +0,0 @@ -package gregtech.api.gui.widgets; - -import static gregtech.api.enums.Mods.GregTech; - -import java.util.Arrays; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.util.ResourceLocation; - -import gregtech.api.interfaces.IGuiIcon; - -public enum GT_GuiIcon implements IGuiIcon { - - BUTTON_NORMAL(0, 0, 0), - BUTTON_DOWN(0, 32, 0), - BUTTON_HIGHLIGHT(0, 32 * 2, 0), - BUTTON_HIGHLIGHT_DOWN(0, 32 * 3, 0), - BUTTON_DISABLED(0, 32 * 4, 0), - - DISABLE(0, 0, 32), - REDSTONE_OFF(0, 32, 32), - REDSTONE_ON(0, 32 * 2, 32), - CHECKMARK(0, 32 * 3, 32), - CROSS(0, 32 * 4, 32), - WHITELIST(0, 32 * 5, 32), - BLACKLIST(0, 32 * 6, 32), - PROGRESS(0, 32 * 7, 32), - - EXPORT(0, 0, 32 * 2), - IMPORT(0, 32, 32 * 2), - ALLOW_INPUT(0, 32 * 2, 32 * 2), - BLOCK_INPUT(0, 32 * 3, 32 * 2), - GREEN_ARROW_UP(0, 32 * 4, 32 * 2), - GREEN_ARROW_DOWN(0, 32 * 5, 32 * 2), - CYCLIC(0, 32 * 6, 32 * 2), - - AND_GATE(0, 0, 32 * 3), - NAND_GATE(0, 32, 32 * 3), - OR_GATE(0, 32 * 2, 32 * 3), - NOR_GATE(0, 32 * 3, 32 * 3), - ANALOG_MODE(0, 32 * 4, 32 * 3), - - SLOT_DARKGRAY(1, 176, 0, 18, 18), - SLOT_GRAY(1, 176, 18, 18, 18), - - TAB_NORMAL(2, 0, 0, 18, 20), - TAB_HIGHLIGHT(2, 18, 0, 18, 20), - TAB_DISABLED(2, 18 * 2, 0, 18, 20), - TAB_NORMAL_BRONZE(2, 0, 20, 18, 20), - TAB_HIGHLIGHT_BRONZE(2, 18, 20, 18, 20), - TAB_DISABLED_BRONZE(2, 18 * 2, 20, 18, 20), - TAB_NORMAL_STEEL(2, 0, 2 * 20, 18, 20), - TAB_HIGHLIGHT_STEEL(2, 18, 2 * 20, 18, 20), - TAB_DISABLED_STEEL(2, 18 * 2, 2 * 20, 18, 20), - TAB_NORMAL_BRICK(2, 0, 3 * 20, 18, 20), - TAB_HIGHLIGHT_BRICK(2, 18, 3 * 20, 18, 20), - TAB_DISABLED_BRICK(2, 18 * 2, 3 * 20, 18, 20), - TAB_INFO_GRAY(2, 220, 0, 18, 20), - TAB_INFO_BLUE(2, 220 + 18, 0, 18, 20),; - - private static final int T_SIZE = 256; - private static ResourceLocation[] TEXTURES = { new ResourceLocation(GregTech.ID, "textures/gui/GuiButtons.png"), - new ResourceLocation(GregTech.ID, "textures/gui/GuiCover.png"), - new ResourceLocation(GregTech.ID, "textures/gui/GuiTabs.png"), }; - - public final int x, y, width, height; - public final IGuiIcon overlay; - private final int texID; - - GT_GuiIcon(int texID, int x, int y, int width, int height, IGuiIcon overlay) { - this.x = x; - this.y = y; - this.width = width; - this.height = height; - this.overlay = overlay; - this.texID = texID; - } - - GT_GuiIcon(int texID, int x, int y) { - this(texID, x, y, 32, 32, null); - } - - GT_GuiIcon(int texID, int x, int y, int width, int height) { - this(texID, x, y, width, height, null); - } - - public static void render(IGuiIcon icon, double x, double y, double width, double height, double zLevel, - boolean doDraw) { - render(icon, x, y, width, height, zLevel, doDraw, false); - } - - public static void render(IGuiIcon icon, double x, double y, double width, double height, double zLevel, - boolean doDraw, boolean flipHoritontally) { - Tessellator tess = Tessellator.instance; - if (doDraw) { - Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURES[icon.getTexId()]); - tess.startDrawingQuads(); - } - double minU = (double) (icon.getX() + (flipHoritontally ? icon.getWidth() : 0)) / T_SIZE; - double maxU = (double) (icon.getX() + (flipHoritontally ? 0 : icon.getWidth())) / T_SIZE; - double minV = (double) icon.getY() / T_SIZE; - double maxV = (double) (icon.getY() + icon.getHeight()) / T_SIZE; - tess.addVertexWithUV(x, y + height, zLevel, minU, maxV); - tess.addVertexWithUV(x + width, y + height, zLevel, maxU, maxV); - tess.addVertexWithUV(x + width, y + 0, zLevel, maxU, minV); - tess.addVertexWithUV(x, y + 0, zLevel, minU, minV); - - if (icon.getOverlay() != null) render(icon.getOverlay(), x, y, width, height, zLevel, false); - - if (doDraw) tess.draw(); - } - - /** - * This is intended to enable addon mods to register additional textures. They can then add to this enum using - * EnumHelper.addEnum or by creating their enum that implements IGuiIcon (still requires adding a texture here) - * - * @param location location of the texture to add - */ - public static void addTextures(ResourceLocation... location) { - if (location == null || location.length == 0) return; - - int startIndex = TEXTURES.length; - TEXTURES = Arrays.copyOf(TEXTURES, location.length); - System.arraycopy(location, 0, TEXTURES, startIndex, location.length); - } - - @Override - public int getX() { - return this.x; - } - - @Override - public int getY() { - return this.y; - } - - @Override - public int getWidth() { - return this.width; - } - - @Override - public int getHeight() { - return this.height; - } - - @Override - public int getTexId() { - return this.texID; - } - - @Override - public IGuiIcon getOverlay() { - return this.overlay; - } -} diff --git a/src/main/java/gregtech/api/gui/widgets/GT_GuiIconButton.java b/src/main/java/gregtech/api/gui/widgets/GT_GuiIconButton.java deleted file mode 100644 index d4bfe31404..0000000000 --- a/src/main/java/gregtech/api/gui/widgets/GT_GuiIconButton.java +++ /dev/null @@ -1,114 +0,0 @@ -package gregtech.api.gui.widgets; - -import java.awt.Rectangle; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiButton; - -import org.lwjgl.opengl.GL11; - -import gregtech.api.interfaces.IGuiScreen; - -public class GT_GuiIconButton extends GuiButton implements IGuiScreen.IGuiElement { - - public static final int DEFAULT_WIDTH = 16; - public static final int DEFAULT_HEIGHT = 16; - - protected GT_GuiIcon icon; - private final int x0; - private final int y0; - protected final IGuiScreen gui; - - private GT_GuiTooltip tooltip; - - public GT_GuiIconButton(IGuiScreen gui, int id, int x, int y, GT_GuiIcon icon) { - super(id, x, y, DEFAULT_WIDTH, DEFAULT_HEIGHT, ""); - this.gui = gui; - this.icon = icon; - this.x0 = x; - this.y0 = y; - gui.addElement(this); - } - - @Override - public void onInit() { - if (tooltip != null) gui.addToolTip(tooltip); - xPosition = x0 + gui.getGuiLeft(); - yPosition = y0 + gui.getGuiTop(); - } - - @Override - public void draw(int mouseX, int mouseY, float parTicks) { - drawButton(Minecraft.getMinecraft(), mouseX, mouseY); - } - - @Override - public void drawButton(Minecraft mc, int mouseX, int mouseY) { - if (this.tooltip != null) this.tooltip.enabled = true; - - if (this.visible) { - // moused over - this.field_146123_n = mouseX >= this.xPosition && mouseY >= this.yPosition - && mouseX < this.xPosition + width - && mouseY < this.yPosition + height; - - mouseDragged(mc, mouseX, mouseY); - - GL11.glPushAttrib(GL11.GL_ENABLE_BIT); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - - int x = xPosition; - int y = yPosition; - if (!this.field_146123_n) { - // GL11.glColor4f(200F/255F, 210F/255F, 1, 1); - } else GL11.glColor4f(1, 1, 1, 1); - - GT_GuiIcon.render(getButtonTexture(this.field_146123_n), x, y, width, height, 0, true); - - GL11.glColor4f(1, 1, 1, 1); - if (icon != null) { - GT_GuiIcon.render(icon, x, y, width, height, 0, true); - } - - GL11.glPopAttrib(); - } - } - - @Override - public void mouseReleased(int mouseX, int mouseY) { - this.gui.clearSelectedButton(); - if (mousePressed(Minecraft.getMinecraft(), mouseX, mouseY)) this.gui.buttonClicked(this); - } - - public GT_GuiIcon getButtonTexture(boolean mouseOver) { - if (!enabled) return GT_GuiIcon.BUTTON_DISABLED; - if (this.equals(this.gui.getSelectedButton())) - return mouseOver ? GT_GuiIcon.BUTTON_HIGHLIGHT_DOWN : GT_GuiIcon.BUTTON_DOWN; - - return mouseOver ? GT_GuiIcon.BUTTON_HIGHLIGHT : GT_GuiIcon.BUTTON_NORMAL; - } - - public GT_GuiIcon getIcon() { - return icon; - } - - public GT_GuiIconButton setIcon(GT_GuiIcon icon) { - this.icon = icon; - return this; - } - - public GT_GuiTooltip getTooltip() { - return tooltip; - } - - public GT_GuiIconButton setTooltipText(String... text) { - if (tooltip == null) tooltip = new GT_GuiTooltip(getBounds(), text); - else tooltip.setToolTipText(text); - return this; - } - - public Rectangle getBounds() { - return new Rectangle(x0, y0, width, height); - } -} diff --git a/src/main/java/gregtech/api/gui/widgets/GT_GuiIconCheckButton.java b/src/main/java/gregtech/api/gui/widgets/GT_GuiIconCheckButton.java deleted file mode 100644 index 5b5007fef3..0000000000 --- a/src/main/java/gregtech/api/gui/widgets/GT_GuiIconCheckButton.java +++ /dev/null @@ -1,43 +0,0 @@ -package gregtech.api.gui.widgets; - -import gregtech.api.interfaces.IGuiScreen; - -public class GT_GuiIconCheckButton extends GT_GuiIconButton { - - private final GT_GuiIcon checkedIcon; - private final GT_GuiIcon normalIcon; - private final String checkedTooltip; - private final String normalTooltip; - private boolean checked = false; - - public GT_GuiIconCheckButton(IGuiScreen gui, int id, int x, int y, GT_GuiIcon checkedIcon, GT_GuiIcon normalIcon) { - this(gui, id, x, y, checkedIcon, normalIcon, null, null); - } - - public GT_GuiIconCheckButton(IGuiScreen gui, int id, int x, int y, GT_GuiIcon checkedIcon, GT_GuiIcon normalIcon, - String checkedTooltip, String normalTooltip) { - super(gui, id, x, y, normalIcon); - this.checkedIcon = checkedIcon; - this.normalIcon = normalIcon; - this.checkedTooltip = checkedTooltip; - this.normalTooltip = normalTooltip; - } - - @Override - public GT_GuiIcon getButtonTexture(boolean mouseOver) { - if (!enabled) return GT_GuiIcon.BUTTON_DISABLED; - if (this.equals(super.gui.getSelectedButton())) - return mouseOver ? GT_GuiIcon.BUTTON_HIGHLIGHT_DOWN : GT_GuiIcon.BUTTON_DOWN; - return mouseOver ? GT_GuiIcon.BUTTON_HIGHLIGHT : GT_GuiIcon.BUTTON_NORMAL; - } - - public boolean isChecked() { - return checked; - } - - public void setChecked(boolean checked) { - super.setIcon(checked ? checkedIcon : normalIcon); - super.setTooltipText(checked ? checkedTooltip : normalTooltip); - this.checked = checked; - } -} diff --git a/src/main/java/gregtech/api/gui/widgets/GT_GuiIntegerTextBox.java b/src/main/java/gregtech/api/gui/widgets/GT_GuiIntegerTextBox.java deleted file mode 100644 index 2d3c7374bd..0000000000 --- a/src/main/java/gregtech/api/gui/widgets/GT_GuiIntegerTextBox.java +++ /dev/null @@ -1,73 +0,0 @@ -package gregtech.api.gui.widgets; - -import java.awt.Rectangle; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiTextField; - -import gregtech.api.interfaces.IGuiScreen; - -public class GT_GuiIntegerTextBox extends GuiTextField implements IGuiScreen.IGuiElement { - - private final int x0, y0; - private final IGuiScreen gui; - public final int id; - private boolean enabled; - - public GT_GuiIntegerTextBox(IGuiScreen gui, int id, int x, int y, int width, int height) { - super(Minecraft.getMinecraft().fontRenderer, x, y, width, height); - super.setText(""); - this.id = id; - x0 = x; - y0 = y; - this.gui = gui; - enabled = true; - gui.addElement(this); - } - - @Override - public void onInit() { - xPosition = x0 + gui.getGuiLeft(); - yPosition = y0 + gui.getGuiTop(); - } - - @Override - public void draw(int mouseX, int mouseY, float parTicks) { - super.drawTextBox(); - } - - public Rectangle getBounds() { - return new Rectangle(x0, y0, width, height); - } - - public boolean validChar(char c, int key) { - return Character.isDigit(c); - } - - @Override - public boolean textboxKeyTyped(char c, int key) { - if (validChar(c, key) || c == 1 - || c == 3 - || c == 22 - || c == 24 - || key == 14 - || key == 199 - || key == 203 - || key == 205 - || key == 207 - || key == 211) { - return super.textboxKeyTyped(c, key); - } - return false; - } - - @Override - public void setEnabled(boolean p_146184_1_) { - super.setEnabled(p_146184_1_); - enabled = p_146184_1_; - } - - public boolean isEnabled() { - return enabled; - } -} diff --git a/src/main/java/gregtech/api/gui/widgets/GT_GuiSlotTooltip.java b/src/main/java/gregtech/api/gui/widgets/GT_GuiSlotTooltip.java deleted file mode 100644 index 015c8c7697..0000000000 --- a/src/main/java/gregtech/api/gui/widgets/GT_GuiSlotTooltip.java +++ /dev/null @@ -1,24 +0,0 @@ -package gregtech.api.gui.widgets; - -import java.awt.Rectangle; - -import net.minecraft.inventory.Slot; - -import gregtech.api.util.GT_TooltipDataCache.TooltipData; - -public class GT_GuiSlotTooltip extends GT_GuiTooltip { - - private final Slot slot; - - public GT_GuiSlotTooltip(Slot slot, TooltipData data) { - super(new Rectangle(slot.xDisplayPosition - 1, slot.yDisplayPosition - 1, 18, 18), data); - this.slot = slot; - } - - @Override - protected void onTick() { - super.onTick(); - // If disabled by super, stay disabled. - this.enabled = this.enabled && this.slot.getStack() == null; - } -} diff --git a/src/main/java/gregtech/api/gui/widgets/GT_GuiSmartTooltip.java b/src/main/java/gregtech/api/gui/widgets/GT_GuiSmartTooltip.java deleted file mode 100644 index ffae5c30e6..0000000000 --- a/src/main/java/gregtech/api/gui/widgets/GT_GuiSmartTooltip.java +++ /dev/null @@ -1,27 +0,0 @@ -package gregtech.api.gui.widgets; - -import java.awt.Rectangle; - -import gregtech.api.util.GT_TooltipDataCache.TooltipData; - -public class GT_GuiSmartTooltip extends GT_GuiTooltip { - - public interface TooltipVisibilityProvider { - - boolean shouldShowTooltip(); - } - - private final TooltipVisibilityProvider visibilityProvider; - - public GT_GuiSmartTooltip(Rectangle bounds, TooltipVisibilityProvider visibilityProvider, TooltipData data) { - super(bounds, data); - this.visibilityProvider = visibilityProvider; - } - - @Override - protected void onTick() { - super.onTick(); - // If disabled by super, stay disabled. - this.enabled = this.enabled && this.visibilityProvider.shouldShowTooltip(); - } -} diff --git a/src/main/java/gregtech/api/gui/widgets/GT_GuiTab.java b/src/main/java/gregtech/api/gui/widgets/GT_GuiTab.java deleted file mode 100644 index d06c2bd2eb..0000000000 --- a/src/main/java/gregtech/api/gui/widgets/GT_GuiTab.java +++ /dev/null @@ -1,174 +0,0 @@ -package gregtech.api.gui.widgets; - -import java.awt.Rectangle; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import gregtech.api.gui.widgets.GT_GuiTabLine.GT_GuiTabIconSet; -import gregtech.api.gui.widgets.GT_GuiTabLine.GT_ITabRenderer; -import gregtech.api.interfaces.IGuiIcon; - -/** - * A tab to be attached to a tab line - */ -public class GT_GuiTab { - - private static final int SLOT_SIZE = 18; - - public boolean visible = true, mousedOver, enabled = true; - - private Rectangle bounds; - private final GT_GuiTabIconSet tabBackground; - private final ItemStack item; - private final GT_ITabRenderer gui; - private GT_GuiTooltip tooltip; - private final IGuiIcon overlay; - private final boolean flipHorizontally; - - /** - * A tab to be attached to a tab line - * - * @param gui IGregTechTileEntity the tab line this tab belongs to is attached to - * @param id both the ID and position in the tab line of this tab. Not used, kept for compatibility. - * @param bounds bounds of this tab - * @param tabBackground set of background textures - * @param item item to draw atop the background texture, not colored - * @param overlay texture to draw atop the background texture, not colored - * @param tooltipText tooltip of this tab - * @param flipHorizontally whether to draw this tab on the right side of the IGregTechTileEntity - */ - public GT_GuiTab(GT_ITabRenderer gui, int id, Rectangle bounds, GT_GuiTabIconSet tabBackground, ItemStack item, - IGuiIcon overlay, String[] tooltipText, boolean flipHorizontally) { - this.gui = gui; - this.bounds = bounds; - this.item = item; - this.tabBackground = tabBackground; - this.overlay = overlay; - if (tooltipText != null) { - setTooltipText(tooltipText); - } - this.flipHorizontally = flipHorizontally; - } - - public GT_GuiTab(GT_ITabRenderer gui, int id, Rectangle bounds, GT_GuiTabIconSet tabBackground) { - this(gui, id, bounds, tabBackground, null, null, null, false); - } - - /** - * Set this tab's tooltip text - * - * @param text text to set - |
