From e445e444e465326ca8e263f03f0a6708c19ea5e1 Mon Sep 17 00:00:00 2001 From: Maxim Date: Thu, 16 Mar 2023 17:59:38 +0100 Subject: Add mode toggle button to PrAss GUI (#144) * Added button to toggle mode on PrAss * Derp * Switched to cycle button --- .../blocks/tileEntity/PreciseAssembler.java | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java') diff --git a/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java b/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java index b403103d49..175a7e396e 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java @@ -6,6 +6,7 @@ import static com.github.bartimaeusnek.bartworks.util.RecipeFinderForParallel.ha import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; import static goodgenerator.util.DescTextLocalization.BLUE_PRINT_INFO; import static gregtech.api.enums.GT_HatchElement.*; +import static gregtech.api.metatileentity.BaseTileEntity.TOOLTIP_DELAY; import static gregtech.api.util.GT_StructureUtility.ofFrame; import java.util.ArrayList; @@ -27,8 +28,13 @@ import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.StructureDefinition; import com.gtnewhorizon.structurelib.structure.StructureUtility; +import com.gtnewhorizons.modularui.api.drawable.IDrawable; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.api.screen.UIBuildContext; +import com.gtnewhorizons.modularui.common.widget.CycleButtonWidget; import goodgenerator.blocks.tileEntity.base.GT_MetaTileEntity_LongPowerUsageBase; +import goodgenerator.client.GUI.GG_UITextures; import goodgenerator.loader.Loaders; import goodgenerator.util.DescTextLocalization; import goodgenerator.util.MyRecipeAdder; @@ -36,6 +42,7 @@ import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.Textures; +import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; @@ -445,4 +452,26 @@ public class PreciseAssembler extends GT_MetaTileEntity_LongPowerUsageBase mode % 2 == 0, val -> mode = val ? 0 : 1) + .setPlayClickSound(true).setVariableBackgroundGetter((state) -> { + if (state == 0) { + return new IDrawable[] { GT_UITextures.BUTTON_STANDARD, + GG_UITextures.OVERLAY_BUTTON_ASSEMBLER_MODE }; + } + return new IDrawable[] { GT_UITextures.BUTTON_STANDARD, + GG_UITextures.OVERLAY_BUTTON_PRECISE_MODE }; + }).setPos(80, 91).setSize(16, 16) + .addTooltip(StatCollector.translateToLocal("gui.PreciseAssembler.mode")) + .setTooltipShowUpDelay(TOOLTIP_DELAY)); + } + + @Override + protected boolean isInputSeparationEnabled() { + return true; + } } -- cgit