aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorminecraft7771 <maxim235@gmx.de>2023-03-16 13:13:48 +0100
committerminecraft7771 <maxim235@gmx.de>2023-03-16 13:13:48 +0100
commitfc7e55e8f317c0141c17f759b16d200e2506aea8 (patch)
tree10a5888d5899ca32e556295b3328089077514bf9
parent47afd585fe8d3839c3d0373c1eddc72aa552a589 (diff)
downloadGT5-Unofficial-fc7e55e8f317c0141c17f759b16d200e2506aea8.tar.gz
GT5-Unofficial-fc7e55e8f317c0141c17f759b16d200e2506aea8.tar.bz2
GT5-Unofficial-fc7e55e8f317c0141c17f759b16d200e2506aea8.zip
Added button to toggle wireless mode on LSC
-rw-r--r--dependencies.gradle2
-rw-r--r--src/main/java/client/gui/KT_UITextures.java17
-rw-r--r--src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java48
-rw-r--r--src/main/resources/assets/kekztech/lang/en_US.lang3
-rw-r--r--src/main/resources/assets/kekztech/textures/gui/overlay_button/wireless_off.pngbin0 -> 703 bytes
-rw-r--r--src/main/resources/assets/kekztech/textures/gui/overlay_button/wireless_off_disabled.pngbin0 -> 743 bytes
-rw-r--r--src/main/resources/assets/kekztech/textures/gui/overlay_button/wireless_on.pngbin0 -> 644 bytes
7 files changed, 68 insertions, 2 deletions
diff --git a/dependencies.gradle b/dependencies.gradle
index 02092427be..65914d3c37 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -1,7 +1,7 @@
// Add your dependencies here
dependencies {
- compile 'com.github.GTNewHorizons:GT5-Unofficial:5.09.41.266:dev'
+ compile 'com.github.GTNewHorizons:GT5-Unofficial:5.09.42.03:dev'
compile 'com.github.GTNewHorizons:TecTech:5.0.89:dev'
compile 'com.github.GTNewHorizons:bartworks:0.5.151:dev'
compile 'com.github.GTNewHorizons:StructureLib:1.2.1:dev'
diff --git a/src/main/java/client/gui/KT_UITextures.java b/src/main/java/client/gui/KT_UITextures.java
new file mode 100644
index 0000000000..ffca0b6813
--- /dev/null
+++ b/src/main/java/client/gui/KT_UITextures.java
@@ -0,0 +1,17 @@
+package client.gui;
+
+import kekztech.KekzCore;
+
+import com.gtnewhorizons.modularui.api.drawable.UITexture;
+
+public class KT_UITextures {
+
+ public static final UITexture OVERLAY_BUTTON_WIRELESS_ON = UITexture
+ .fullImage(KekzCore.MODID, "gui/overlay_button/wireless_on");
+
+ public static final UITexture OVERLAY_BUTTON_WIRELESS_OFF = UITexture
+ .fullImage(KekzCore.MODID, "gui/overlay_button/wireless_off");
+
+ public static final UITexture OVERLAY_BUTTON_WIRELESS_OFF_DISABLED = UITexture
+ .fullImage(KekzCore.MODID, "gui/overlay_button/wireless_off_disabled");
+}
diff --git a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java
index 1226e1ee0d..489594049e 100644
--- a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java
+++ b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java
@@ -3,6 +3,7 @@ package common.tileentities;
import static com.gtnewhorizon.structurelib.structure.StructureUtility.*;
import static common.itemBlocks.IB_LapotronicEnergyUnit.*;
import static gregtech.api.enums.GT_HatchElement.Maintenance;
+import static gregtech.api.metatileentity.BaseTileEntity.TOOLTIP_DELAY;
import static gregtech.api.util.GT_StructureUtility.buildHatchAdder;
import static gregtech.api.util.GT_StructureUtility.filterByMTEClass;
import static java.lang.Math.min;
@@ -20,9 +21,12 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IChatComponent;
+import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
+import client.gui.KT_UITextures;
+
import com.github.bartimaeusnek.bartworks.API.BorosilicateGlass;
import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DynamoMulti;
import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DynamoTunnel;
@@ -39,11 +43,18 @@ import com.gtnewhorizon.structurelib.structure.IStructureElement;
import com.gtnewhorizon.structurelib.structure.IStructureElement.PlaceResult;
import com.gtnewhorizon.structurelib.structure.StructureUtility;
import com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode;
+import com.gtnewhorizons.modularui.api.drawable.IDrawable;
+import com.gtnewhorizons.modularui.api.drawable.UITexture;
+import com.gtnewhorizons.modularui.api.screen.ModularWindow;
+import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
+import com.gtnewhorizons.modularui.common.widget.ButtonWidget;
+import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget;
import common.Blocks;
import gregtech.api.enums.Dyes;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Textures.BlockIcons;
+import gregtech.api.gui.modularui.GT_UITextures;
import gregtech.api.interfaces.IGlobalWirelessEnergy;
import gregtech.api.interfaces.IHatchElement;
import gregtech.api.interfaces.ITexture;
@@ -65,6 +76,7 @@ public class GTMTE_LapotronicSuperCapacitor
NotTop
}
+ private boolean canUseWireless = false;
private boolean wireless_mode = false;
private boolean not_processed_lsc = true;
private int counter = 1;
@@ -984,9 +996,13 @@ public class GTMTE_LapotronicSuperCapacitor
return true;
}
+ protected boolean canUseWireless() {
+ return getUHVCapacitorCount() != 0 || getUEVCapacitorCount() != 0;
+ }
+
@Override
public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
- if (getUHVCapacitorCount() != 0 || getUEVCapacitorCount() != 0) {
+ if (canUseWireless()) {
wireless_mode = !wireless_mode;
GT_Utility.sendChatToPlayer(aPlayer, "Wireless network mode " + (wireless_mode ? "enabled." : "disabled."));
} else {
@@ -1004,6 +1020,36 @@ public class GTMTE_LapotronicSuperCapacitor
}
}
+ @Override
+ public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) {
+ super.addUIWidgets(builder, buildContext);
+ builder.widget(new ButtonWidget().setOnClick((clickData, widget) -> {
+ if (!widget.isClient()) {
+ canUseWireless = canUseWireless();
+ }
+ if (canUseWireless) {
+ wireless_mode = !wireless_mode;
+ }
+ }).setPlayClickSound(true).setBackground(() -> {
+ List<UITexture> ret = new ArrayList<>();
+ ret.add(GT_UITextures.BUTTON_STANDARD);
+ if (canUseWireless) {
+ if (wireless_mode) {
+ ret.add(KT_UITextures.OVERLAY_BUTTON_WIRELESS_ON);
+ } else {
+ ret.add(KT_UITextures.OVERLAY_BUTTON_WIRELESS_OFF);
+ }
+ } else {
+ ret.add(KT_UITextures.OVERLAY_BUTTON_WIRELESS_OFF_DISABLED);
+ }
+ return ret.toArray(new IDrawable[0]);
+ }).setPos(80, 91).setSize(16, 16)
+ .addTooltip(StatCollector.translateToLocal("gui.kekztech_lapotronicenergyunit.wireless"))
+ .setTooltipShowUpDelay(TOOLTIP_DELAY))
+ .widget(new FakeSyncWidget.BooleanSyncer(() -> wireless_mode, val -> wireless_mode = val))
+ .widget(new FakeSyncWidget.BooleanSyncer(this::canUseWireless, val -> canUseWireless = val));
+ }
+
private enum LSCHatchElement implements IHatchElement<GTMTE_LapotronicSuperCapacitor> {
Energy(GT_MetaTileEntity_Hatch_EnergyMulti.class, GT_MetaTileEntity_Hatch_Energy.class) {
diff --git a/src/main/resources/assets/kekztech/lang/en_US.lang b/src/main/resources/assets/kekztech/lang/en_US.lang
index bd7639fb73..348c357118 100644
--- a/src/main/resources/assets/kekztech/lang/en_US.lang
+++ b/src/main/resources/assets/kekztech/lang/en_US.lang
@@ -193,3 +193,6 @@ achievement.tile.kekztech_lapotronicenergyunit_block.5.desc=Pickup this item to
achievement.tile.kekztech_lapotronicenergyunit_block.5=Ultimate Capacitor (UHV)
achievement.tile.kekztech_lapotronicenergyunit_block.8.desc=Beyond the ranks of Gods
achievement.tile.kekztech_lapotronicenergyunit_block.8=Ultimate Capacitor (UEV)
+
+# -------- GUI
+gui.kekztech_lapotronicenergyunit.wireless=Wireless mode
diff --git a/src/main/resources/assets/kekztech/textures/gui/overlay_button/wireless_off.png b/src/main/resources/assets/kekztech/textures/gui/overlay_button/wireless_off.png
new file mode 100644
index 0000000000..dc7f50d04b
--- /dev/null
+++ b/src/main/resources/assets/kekztech/textures/gui/overlay_button/wireless_off.png
Binary files differ
diff --git a/src/main/resources/assets/kekztech/textures/gui/overlay_button/wireless_off_disabled.png b/src/main/resources/assets/kekztech/textures/gui/overlay_button/wireless_off_disabled.png
new file mode 100644
index 0000000000..aa4ab54220
--- /dev/null
+++ b/src/main/resources/assets/kekztech/textures/gui/overlay_button/wireless_off_disabled.png
Binary files differ
diff --git a/src/main/resources/assets/kekztech/textures/gui/overlay_button/wireless_on.png b/src/main/resources/assets/kekztech/textures/gui/overlay_button/wireless_on.png
new file mode 100644
index 0000000000..1691c4b32e
--- /dev/null
+++ b/src/main/resources/assets/kekztech/textures/gui/overlay_button/wireless_on.png
Binary files differ