diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java | 29 | ||||
-rw-r--r-- | src/main/java/goodgenerator/client/GUI/GG_UITextures.java | 4 | ||||
-rw-r--r-- | src/main/resources/assets/goodgenerator/lang/en_US.lang | 1 | ||||
-rw-r--r-- | src/main/resources/assets/goodgenerator/textures/gui/overlay_button/assembler_mode.png | bin | 0 -> 714 bytes | |||
-rw-r--r-- | src/main/resources/assets/goodgenerator/textures/gui/overlay_button/precise_mode.png | bin | 0 -> 684 bytes |
5 files changed, 34 insertions, 0 deletions
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<Preci TextureFactory.builder().addIcon(textureFontOff_Glow).glow().build() }; } else return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(1539 + t) }; } + + @Override + public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + super.addUIWidgets(builder, buildContext); + builder.widget( + new CycleButtonWidget().setToggle(() -> 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; + } } diff --git a/src/main/java/goodgenerator/client/GUI/GG_UITextures.java b/src/main/java/goodgenerator/client/GUI/GG_UITextures.java index bf51238575..97d4599562 100644 --- a/src/main/java/goodgenerator/client/GUI/GG_UITextures.java +++ b/src/main/java/goodgenerator/client/GUI/GG_UITextures.java @@ -15,4 +15,8 @@ public class GG_UITextures { .fullImage(MODID, "gui/picture/component_assline"); public static final UITexture OVERLAY_BUTTON_LOCK_OFF = UITexture.fullImage(MODID, "gui/overlay_button/lock_off"); public static final UITexture OVERLAY_BUTTON_LOCK_ON = UITexture.fullImage(MODID, "gui/overlay_button/lock_on"); + public static final UITexture OVERLAY_BUTTON_ASSEMBLER_MODE = UITexture + .fullImage(MODID, "gui/overlay_button/assembler_mode"); + public static final UITexture OVERLAY_BUTTON_PRECISE_MODE = UITexture + .fullImage(MODID, "gui/overlay_button/precise_mode"); } diff --git a/src/main/resources/assets/goodgenerator/lang/en_US.lang b/src/main/resources/assets/goodgenerator/lang/en_US.lang index af060b7225..8c22420909 100644 --- a/src/main/resources/assets/goodgenerator/lang/en_US.lang +++ b/src/main/resources/assets/goodgenerator/lang/en_US.lang @@ -307,6 +307,7 @@ gui.YOTTank.button.void=Void Excess gui.YOTTank.button.locking=Fluid locking gui.LargeFusion.0=Energy Capacity: gui.LargeFusion.1=Stored Energy: +gui.PreciseAssembler.mode=Mode #NEI Info tile.recipe.naquadah_reactor=Large Naquadah Reactor diff --git a/src/main/resources/assets/goodgenerator/textures/gui/overlay_button/assembler_mode.png b/src/main/resources/assets/goodgenerator/textures/gui/overlay_button/assembler_mode.png Binary files differnew file mode 100644 index 0000000000..d7132dcfba --- /dev/null +++ b/src/main/resources/assets/goodgenerator/textures/gui/overlay_button/assembler_mode.png diff --git a/src/main/resources/assets/goodgenerator/textures/gui/overlay_button/precise_mode.png b/src/main/resources/assets/goodgenerator/textures/gui/overlay_button/precise_mode.png Binary files differnew file mode 100644 index 0000000000..a8d30a022e --- /dev/null +++ b/src/main/resources/assets/goodgenerator/textures/gui/overlay_button/precise_mode.png |