diff options
Diffstat (limited to 'src/main/java/gregtech/api/gui/GT_GUIContainer_BasicMachine.java')
-rw-r--r-- | src/main/java/gregtech/api/gui/GT_GUIContainer_BasicMachine.java | 262 |
1 files changed, 0 insertions, 262 deletions
diff --git a/src/main/java/gregtech/api/gui/GT_GUIContainer_BasicMachine.java b/src/main/java/gregtech/api/gui/GT_GUIContainer_BasicMachine.java deleted file mode 100644 index 8873152137..0000000000 --- a/src/main/java/gregtech/api/gui/GT_GUIContainer_BasicMachine.java +++ /dev/null @@ -1,262 +0,0 @@ -package gregtech.api.gui; - -import static gregtech.api.enums.Mods.GregTech; - -import java.awt.Rectangle; - -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.StatCollector; - -import gregtech.api.enums.GT_Values; -import gregtech.api.gui.widgets.GT_GuiIcon; -import gregtech.api.gui.widgets.GT_GuiSlotTooltip; -import gregtech.api.gui.widgets.GT_GuiSmartTooltip; -import gregtech.api.gui.widgets.GT_GuiTabLine.GT_GuiTabIconSet; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Steel; -import gregtech.api.util.GT_Recipe.GT_Recipe_Map; -import gregtech.common.power.Power; -import gregtech.nei.NEI_TransferRectHost; - -/** - * NEVER INCLUDE THIS FILE IN YOUR MOD!!! - * <p/> - * The GUI-Container I use for all my Basic Machines - */ -public class GT_GUIContainer_BasicMachine extends GT_GUIContainerMetaTile_Machine implements NEI_TransferRectHost { - - private static final int NEEDS_STEAM_VENTING = 64; - private static final GT_GuiTabIconSet TAB_ICONSET_BRONZE = new GT_GuiTabIconSet( - GT_GuiIcon.TAB_NORMAL_BRONZE, - GT_GuiIcon.TAB_HIGHLIGHT_BRONZE, - GT_GuiIcon.TAB_DISABLED_BRONZE); - private static final GT_GuiTabIconSet TAB_ICONSET_STEEL = new GT_GuiTabIconSet( - GT_GuiIcon.TAB_NORMAL_STEEL, - GT_GuiIcon.TAB_HIGHLIGHT_STEEL, - GT_GuiIcon.TAB_DISABLED_STEEL); - private final int textColor = this.getTextColorOrDefault("title", 0x404040); - public final String mName, mNEI; - public final byte mProgressBarDirection, mProgressBarAmount; - - // Tooltip localization keys - private static final String BATTERY_SLOT_TOOLTIP = "GT5U.machines.battery_slot.tooltip", - BATTERY_SLOT_TOOLTIP_ALT = "GT5U.machines.battery_slot.tooltip.alternative", - UNUSED_SLOT_TOOLTIP = "GT5U.machines.unused_slot.tooltip", - SPECIAL_SLOT_TOOLTIP = "GT5U.machines.special_slot.tooltip", - FLUID_INPUT_TOOLTIP = "GT5U.machines.fluid_input_slot.tooltip", - FLUID_OUTPUT_TOOLTIP = "GT5U.machines.fluid_output_slot.tooltip", - STALLED_STUTTERING_TOOLTIP = "GT5U.machines.stalled_stuttering.tooltip", - STALLED_VENT_TOOLTIP = "GT5U.machines.stalled_vent.tooltip", - FLUID_TRANSFER_TOOLTIP = "GT5U.machines.fluid_transfer.tooltip", - ITEM_TRANSFER_TOOLTIP = "GT5U.machines.item_transfer.tooltip", POWER_SOURCE_KEY = "GT5U.machines.powersource."; - - public GT_GUIContainer_BasicMachine(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, - String aTextureFile, String aNEI) { - this(aInventoryPlayer, aTileEntity, aName, aTextureFile, aNEI, (byte) 0, (byte) 1); - } - - public GT_GUIContainer_BasicMachine(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, - String aTextureFile, String aNEI, byte aProgressBarDirection, byte aProgressBarAmount) { - super( - new GT_Container_BasicMachine(aInventoryPlayer, aTileEntity), - GregTech.getResourcePath("textures", "gui", "basicmachines", aTextureFile)); - mProgressBarDirection = aProgressBarDirection; - mProgressBarAmount = (byte) Math.max(1, aProgressBarAmount); - mName = aName; - mNEI = aNEI; - } - - /** - * Load data for and create appropriate tooltips for this machine - */ - @Override - protected void setupTooltips() { - super.setupTooltips(); - GT_MetaTileEntity_BasicMachine machine = getMachine(); - GT_Recipe_Map recipes = machine.getRecipeList(); - GT_Container_BasicMachine container = getContainer(); - Rectangle tProblemArea = new Rectangle(this.guiLeft + 79, this.guiTop + 44, 18, 18); - String batterySlotTooltipKey; - Object[] batterySlotTooltipArgs; - if (machine.isSteampowered()) { - batterySlotTooltipKey = UNUSED_SLOT_TOOLTIP; - batterySlotTooltipArgs = new String[0]; - addToolTip( - new GT_GuiSmartTooltip( - tProblemArea, - () -> hasErrorCode(NEEDS_STEAM_VENTING), - mTooltipCache.getData(STALLED_VENT_TOOLTIP))); - } else { - String pTier1 = powerTierName(machine.mTier); - if (machine.mTier == GT_Values.VN.length - 1) { - batterySlotTooltipKey = BATTERY_SLOT_TOOLTIP_ALT; - batterySlotTooltipArgs = new String[] { pTier1 }; - } else { - batterySlotTooltipKey = BATTERY_SLOT_TOOLTIP; - batterySlotTooltipArgs = new String[] { pTier1, powerTierName((byte) (machine.mTier + 1)) }; - } - addToolTip( - new GT_GuiSlotTooltip( - container.slotFluidTransferToggle, - mTooltipCache.getData(FLUID_TRANSFER_TOOLTIP))); - addToolTip( - new GT_GuiSlotTooltip(container.slotItemTransferToggle, mTooltipCache.getData(ITEM_TRANSFER_TOOLTIP))); - } - if (recipes != null && recipes.hasFluidInputs()) { - addToolTip( - new GT_GuiSlotTooltip( - container.slotFluidInput, - mTooltipCache.getData(FLUID_INPUT_TOOLTIP, machine.getCapacity()))); - } - if (recipes != null && recipes.hasFluidOutputs()) { - addToolTip( - new GT_GuiSlotTooltip( - container.slotFluidOutput, - mTooltipCache.getData(FLUID_OUTPUT_TOOLTIP, machine.getCapacity()))); - } - addToolTip( - new GT_GuiSlotTooltip( - getContainer().slotBattery, - mTooltipCache.getData(batterySlotTooltipKey, batterySlotTooltipArgs))); - addToolTip( - new GT_GuiSlotTooltip( - container.slotSpecial, - mTooltipCache.getData( - recipes != null && recipes.usesSpecialSlot() ? SPECIAL_SLOT_TOOLTIP : UNUSED_SLOT_TOOLTIP))); - addToolTip( - new GT_GuiSmartTooltip( - tProblemArea, - () -> container.mStuttering && !hasErrorCode(NEEDS_STEAM_VENTING), - mTooltipCache.getData( - STALLED_STUTTERING_TOOLTIP, - StatCollector - .translateToLocal(POWER_SOURCE_KEY + (machine.isSteampowered() ? "steam" : "power"))))); - } - - /** - * Apply proper coloration to a machine's power tier short name - * - * @param machineTier machine tier - * @return colored power tier short name - */ - private String powerTierName(byte machineTier) { - return GT_Values.TIER_COLORS[machineTier] + GT_Values.VN[machineTier]; - } - - private GT_MetaTileEntity_BasicMachine getMachine() { - return (GT_MetaTileEntity_BasicMachine) mContainer.mTileEntity.getMetaTileEntity(); - } - - @Override - protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { - super.drawGuiContainerForegroundLayer(mouseX, mouseY); - fontRendererObj.drawString(mName, 8, 4, textColor); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float parTicks, int mouseX, int mouseY) { - super.drawGuiContainerBackgroundLayer(parTicks, mouseX, mouseY); - int x = (width - xSize) / 2; - int y = (height - ySize) / 2; - drawTexturedModalRect(x, y, 0, 0, xSize, ySize); - if (mContainer != null) { - if (!getMachine().isSteampowered()) { - if (getContainer().mFluidTransfer) drawTexturedModalRect(x + 7, y + 62, 176, 18, 18, 18); - if (getContainer().mItemTransfer) drawTexturedModalRect(x + 25, y + 62, 176, 36, 18, 18); - } - if (getContainer().mStuttering) drawTexturedModalRect(x + 79, y + 44, 176, 54, 18, 18); - - if (mContainer.mMaxProgressTime > 0) { - int tSize = mProgressBarDirection < 2 ? 20 : 18; - int tProgress = Math.max( - 1, - Math.min( - tSize * mProgressBarAmount, - (mContainer.mProgressTime > 0 ? 1 : 0) - + mContainer.mProgressTime * tSize * mProgressBarAmount / mContainer.mMaxProgressTime)) - % (tSize + 1); - - switch (mProgressBarDirection) { // yes, my OCD was mad at me before I did the Tabs. - case 0 -> drawTexturedModalRect(x + 78, y + 24, 176, 0, tProgress, 18); - case 1 -> drawTexturedModalRect( - x + 78 + 20 - tProgress, - y + 24, - 176 + 20 - tProgress, - 0, - tProgress, - 18); - case 2 -> drawTexturedModalRect(x + 78, y + 24, 176, 0, 20, tProgress); - case 3 -> drawTexturedModalRect( - x + 78, - y + 24 + 18 - tProgress, - 176, - 18 - tProgress, - 20, - tProgress); - case 4 -> { - tProgress = 20 - tProgress; - drawTexturedModalRect(x + 78, y + 24, 176, 0, tProgress, 18); - } - case 5 -> { - tProgress = 20 - tProgress; - drawTexturedModalRect(x + 78 + 20 - tProgress, y + 24, 176 + 20 - tProgress, 0, tProgress, 18); - } - case 6 -> { - tProgress = 18 - tProgress; - drawTexturedModalRect(x + 78, y + 24, 176, 0, 20, tProgress); - } - case 7 -> { - tProgress = 18 - tProgress; - drawTexturedModalRect(x + 78, y + 24 + 18 - tProgress, 176, 18 - tProgress, 20, tProgress); - } - } - } - } - } - - @Override - protected GT_GuiTabIconSet getTabBackground() { - if (getMachine().isSteampowered()) { - return getMachine() instanceof GT_MetaTileEntity_BasicMachine_Steel ? TAB_ICONSET_STEEL - : TAB_ICONSET_BRONZE; - } - return super.getTabBackground(); - } - - /** - * Whether the machine currently has this error code - */ - private boolean hasErrorCode(int errorCode) { - return (getContainer().mDisplayErrorCode & errorCode) != 0; - } - - private GT_Container_BasicMachine getContainer() { - return (GT_Container_BasicMachine) mContainer; - } - - @Override - public String getNeiTransferRectString() { - return mNEI; - } - - @Override - public String getNeiTransferRectTooltip() { - Power powerInfo = getMachine().getPower(); - if (getMachine().isSteampowered()) { - return powerInfo.getTierString() + " Steam recipes"; - } else { - return "Recipes available in " + powerInfo.getTierString(); - } - } - - @Override - public Object[] getNeiTransferRectArgs() { - return new Object[] { getMachine().getPower() }; - } - - @Override - public Rectangle getNeiTransferRect() { - return new Rectangle(65, 13, 36, 18); - } -} |