aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/gui
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2023-09-23 00:10:19 +0900
committerGitHub <noreply@github.com>2023-09-22 17:10:19 +0200
commit2e17750625e73ed55af9cbd446593cbc3e04c978 (patch)
tree137b18599be0d0edcb3e170b9909fc7ec92a7d70 /src/main/java/gregtech/api/gui
parent050553dc3262e15e8e016ce19419bd7e428d9f67 (diff)
downloadGT5-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.java300
-rw-r--r--src/main/java/gregtech/api/gui/GT_GUIContainer_BasicMachine.java262
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);
- }
-}