diff options
author | minecraft7771 <maxim235@gmx.de> | 2023-03-16 13:13:48 +0100 |
---|---|---|
committer | minecraft7771 <maxim235@gmx.de> | 2023-03-16 13:13:48 +0100 |
commit | fc7e55e8f317c0141c17f759b16d200e2506aea8 (patch) | |
tree | 10a5888d5899ca32e556295b3328089077514bf9 | |
parent | 47afd585fe8d3839c3d0373c1eddc72aa552a589 (diff) | |
download | GT5-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.gradle | 2 | ||||
-rw-r--r-- | src/main/java/client/gui/KT_UITextures.java | 17 | ||||
-rw-r--r-- | src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java | 48 | ||||
-rw-r--r-- | src/main/resources/assets/kekztech/lang/en_US.lang | 3 | ||||
-rw-r--r-- | src/main/resources/assets/kekztech/textures/gui/overlay_button/wireless_off.png | bin | 0 -> 703 bytes | |||
-rw-r--r-- | src/main/resources/assets/kekztech/textures/gui/overlay_button/wireless_off_disabled.png | bin | 0 -> 743 bytes | |||
-rw-r--r-- | src/main/resources/assets/kekztech/textures/gui/overlay_button/wireless_on.png | bin | 0 -> 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 Binary files differnew file mode 100644 index 0000000000..dc7f50d04b --- /dev/null +++ b/src/main/resources/assets/kekztech/textures/gui/overlay_button/wireless_off.png 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 Binary files differnew file mode 100644 index 0000000000..aa4ab54220 --- /dev/null +++ b/src/main/resources/assets/kekztech/textures/gui/overlay_button/wireless_off_disabled.png 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 Binary files differnew file mode 100644 index 0000000000..1691c4b32e --- /dev/null +++ b/src/main/resources/assets/kekztech/textures/gui/overlay_button/wireless_on.png |