aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxim <maxim235@gmx.de>2023-03-16 17:59:38 +0100
committerGitHub <noreply@github.com>2023-03-16 17:59:38 +0100
commite445e444e465326ca8e263f03f0a6708c19ea5e1 (patch)
treeb40b817c837a81ec48a2351e4697c4071734d96b /src
parent1d25115add66a6fa74984da931948b6139300931 (diff)
downloadGT5-Unofficial-e445e444e465326ca8e263f03f0a6708c19ea5e1.tar.gz
GT5-Unofficial-e445e444e465326ca8e263f03f0a6708c19ea5e1.tar.bz2
GT5-Unofficial-e445e444e465326ca8e263f03f0a6708c19ea5e1.zip
Add mode toggle button to PrAss GUI (#144)
* Added button to toggle mode on PrAss * Derp * Switched to cycle button
Diffstat (limited to 'src')
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java29
-rw-r--r--src/main/java/goodgenerator/client/GUI/GG_UITextures.java4
-rw-r--r--src/main/resources/assets/goodgenerator/lang/en_US.lang1
-rw-r--r--src/main/resources/assets/goodgenerator/textures/gui/overlay_button/assembler_mode.pngbin0 -> 714 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/gui/overlay_button/precise_mode.pngbin0 -> 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
new file mode 100644
index 0000000000..d7132dcfba
--- /dev/null
+++ b/src/main/resources/assets/goodgenerator/textures/gui/overlay_button/assembler_mode.png
Binary files differ
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
new file mode 100644
index 0000000000..a8d30a022e
--- /dev/null
+++ b/src/main/resources/assets/goodgenerator/textures/gui/overlay_button/precise_mode.png
Binary files differ