diff options
author | miozune <miozune@gmail.com> | 2023-09-23 00:10:19 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-22 17:10:19 +0200 |
commit | 2e17750625e73ed55af9cbd446593cbc3e04c978 (patch) | |
tree | 137b18599be0d0edcb3e170b9909fc7ec92a7d70 /src/main/java/gregtech/api/gui | |
parent | 050553dc3262e15e8e016ce19419bd7e428d9f67 (diff) | |
download | GT5-Unofficial-2e17750625e73ed55af9cbd446593cbc3e04c978.tar.gz GT5-Unofficial-2e17750625e73ed55af9cbd446593cbc3e04c978.tar.bz2 GT5-Unofficial-2e17750625e73ed55af9cbd446593cbc3e04c978.zip |
Cleanup GT_MetaTileEntity_BasicMachine (#2268)
* Remove unused machines
* Add some Javadoc
* Remove some unused constructors
* Use ResourceLocation and SpecialEffects for newMetaEntity
* Remove some non-ModularUI code
* Remove mGUIParameterA and mGUIParameterB
* Remove mGUIName and mNEIName
* Use nonnull string
* updateBuildScript
Diffstat (limited to 'src/main/java/gregtech/api/gui')
-rw-r--r-- | src/main/java/gregtech/api/gui/GT_Container_BasicMachine.java | 300 | ||||
-rw-r--r-- | src/main/java/gregtech/api/gui/GT_GUIContainer_BasicMachine.java | 262 |
2 files changed, 0 insertions, 562 deletions
diff --git a/src/main/java/gregtech/api/gui/GT_Container_BasicMachine.java b/src/main/java/gregtech/api/gui/GT_Container_BasicMachine.java deleted file mode 100644 index 5d6c1c4126..0000000000 --- a/src/main/java/gregtech/api/gui/GT_Container_BasicMachine.java +++ /dev/null @@ -1,300 +0,0 @@ -package gregtech.api.gui; - -import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine.OTHER_SLOT_COUNT; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.interfaces.IFluidAccess; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank; -import gregtech.api.util.GT_Recipe.GT_Recipe_Map; -import gregtech.api.util.GT_Utility; - -/** - * NEVER INCLUDE THIS FILE IN YOUR MOD!!! - * <p/> - * The Container I use for all my Basic Machines - */ -public class GT_Container_BasicMachine extends GT_Container_BasicTank { - - public boolean mFluidTransfer = false, mItemTransfer = false, mStuttering = false; - - GT_Slot_Holo slotFluidTransferToggle; - GT_Slot_Holo slotItemTransferToggle; - GT_Slot_Holo slotFluidOutput; - GT_Slot_Holo slotFluidInput; - Slot slotBattery; - Slot slotSpecial; - - public GT_Container_BasicMachine(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(aInventoryPlayer, aTileEntity); - } - - @Override - public void addSlots(InventoryPlayer aInventoryPlayer) { - GT_MetaTileEntity_BasicMachine machine = getMachine(); - GT_Recipe_Map recipes = machine.getRecipeList(); - - addSlotToContainer(slotFluidTransferToggle = new GT_Slot_Holo(mTileEntity, 0, 8, 63, false, true, 1)); - slotFluidTransferToggle.setEnabled(!machine.isSteampowered()); - addSlotToContainer(slotItemTransferToggle = new GT_Slot_Holo(mTileEntity, 0, 26, 63, false, true, 1)); - slotItemTransferToggle.setEnabled(!machine.isSteampowered()); - addSlotToContainer(slotFluidOutput = new GT_Slot_Render(mTileEntity, 2, 107, 63)); - slotFluidOutput.setEnabled(recipes != null && recipes.hasFluidOutputs()); - // add circuit slot here to have it in fixed position - addCircuitSlot(); - - int tStartIndex = machine.getInputSlot(); - - switch (machine.mInputSlotCount) { - case 0: - break; - case 1: - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 25)); - break; - case 2: - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 25)); - break; - case 3: - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 25)); - break; - case 4: - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 16)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 16)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 34)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 34)); - break; - case 5: - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 16)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 16)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 16)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 34)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 34)); - break; - case 6: - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 16)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 16)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 16)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 34)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 34)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 34)); - break; - case 7: - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 7)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 7)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 7)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 43)); - break; - case 8: - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 7)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 7)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 7)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 43)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 43)); - break; - default: - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 7)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 7)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 7)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 43)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 43)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 43)); - break; - } - - tStartIndex = machine.getOutputSlot(); - - switch (machine.mOutputItems.length) { - case 0: - break; - case 1: - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 25)); - break; - case 2: - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 25)); - break; - case 3: - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 25)); - break; - case 4: - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 16)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 16)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 34)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 34)); - break; - case 5: - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 16)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 16)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 16)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 34)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 34)); - break; - case 6: - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 16)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 16)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 16)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 34)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 34)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 34)); - break; - case 7: - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 7)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 7)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 7)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 43)); - break; - case 8: - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 7)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 7)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 7)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 43)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 43)); - break; - default: - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 7)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 7)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 7)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 43)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 43)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 43)); - break; - } - - addSlotToContainer(slotBattery = new Slot(mTileEntity, 1, 80, 63)); - addSlotToContainer(slotSpecial = new Slot(mTileEntity, 3, 125, 63)); - addSlotToContainer(slotFluidInput = new GT_Slot_Render(mTileEntity, tStartIndex++, 53, 63)); - slotFluidInput.setEnabled(recipes != null ? (recipes.hasFluidInputs()) : (machine.getCapacity() != 0)); - } - - @Override - public ItemStack slotClick(int aSlotNumber, int aMouseclick, int aShifthold, EntityPlayer aPlayer) { - if (mTileEntity.getMetaTileEntity() == null) return null; - GT_MetaTileEntity_BasicMachine machine = getMachine(); - if (machine == null) return null; - switch (aSlotNumber) { - case 0 -> { - if (slotFluidTransferToggle.isEnabled()) { - machine.mFluidTransfer = !machine.mFluidTransfer; - } - return null; - } - case 1 -> { - if (slotItemTransferToggle.isEnabled()) { - machine.mItemTransfer = !machine.mItemTransfer; - } - return null; - } - default -> { - if (aSlotNumber == OTHER_SLOT_COUNT + 1 + machine.mInputSlotCount + machine.mOutputItems.length - && aMouseclick < 2) { - GT_MetaTileEntity_BasicTank tTank = (GT_MetaTileEntity_BasicTank) mTileEntity.getMetaTileEntity(); - if (mTileEntity.isClientSide()) { - // see parent class slotClick for an explanation on why doing this - Slot slot = inventorySlots.get(aSlotNumber); - tTank.setFillableStack(GT_Utility.getFluidFromDisplayStack(slot.getStack())); - } - IFluidAccess tFillableAccess = constructFluidAccess(tTank, true); - GT_Recipe_Map recipes = machine.getRecipeList(); - // If the machine has recipes but no fluid inputs, disallow filling this slot with fluids. - ItemStack tToken = handleFluidSlotClick( - tFillableAccess, - aPlayer, - aMouseclick == 0, - true, - (recipes == null || recipes.hasFluidInputs())); - if (mTileEntity.isServerSide() && tToken != null) mTileEntity.markInventoryBeenModified(); - return tToken; - } else { - return super.slotClick(aSlotNumber, aMouseclick, aShifthold, aPlayer); - } - } - } - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) return; - - mFluidTransfer = getMachine().mFluidTransfer; - mItemTransfer = getMachine().mItemTransfer; - mStuttering = getMachine().mStuttering; - - for (ICrafting player : this.crafters) { - player.sendProgressBarUpdate(this, 102, mFluidTransfer ? 1 : 0); - player.sendProgressBarUpdate(this, 103, mItemTransfer ? 1 : 0); - player.sendProgressBarUpdate(this, 104, mStuttering ? 1 : 0); - } - } - - @Override - public void addCraftingToCrafters(ICrafting player) { - super.addCraftingToCrafters(player); - } - - @Override - @SideOnly(Side.CLIENT) - public void updateProgressBar(int id, int value) { - super.updateProgressBar(id, value); - switch (id) { - case 102 -> mFluidTransfer = (value != 0); - case 103 -> mItemTransfer = (value != 0); - case 104 -> mStuttering = (value != 0); - } - } - - @Override - public int getSlotStartIndex() { - return 4; - } - - @Override - public int getShiftClickStartIndex() { - return 4; - } - - @Override - public int getSlotCount() { - return getShiftClickSlotCount() + getMachine().mOutputItems.length + 2; - } - - @Override - public int getShiftClickSlotCount() { - return getMachine().mInputSlotCount; - } - - public GT_MetaTileEntity_BasicMachine getMachine() { - return (GT_MetaTileEntity_BasicMachine) mTileEntity.getMetaTileEntity(); - } -} 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); - } -} |