diff options
author | Stella <stellaarnott1@gmail.com> | 2024-05-30 16:40:33 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-31 01:40:33 +0200 |
commit | 60cb0823bcc72f901c1e8fdc3a35b2cb59809989 (patch) | |
tree | eaa7e8ab5951d9cf47129c9b1cea57d81d328fdd | |
parent | 2e44956441fd8a589993360ed66f18ef950cb49a (diff) | |
download | skyhanni-60cb0823bcc72f901c1e8fdc3a35b2cb59809989.tar.gz skyhanni-60cb0823bcc72f901c1e8fdc3a35b2cb59809989.tar.bz2 skyhanni-60cb0823bcc72f901c1e8fdc3a35b2cb59809989.zip |
Feature: In Water Display (#1892)
Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
3 files changed, 37 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt b/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt index 311c65807..e0f4d1240 100644 --- a/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt +++ b/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt @@ -348,6 +348,7 @@ import at.hannibal2.skyhanni.features.misc.FixNEUHeavyPearls import at.hannibal2.skyhanni.features.misc.HideArmor import at.hannibal2.skyhanni.features.misc.HideFarEntities import at.hannibal2.skyhanni.features.misc.InGameDateDisplay +import at.hannibal2.skyhanni.features.misc.InWaterDisplay import at.hannibal2.skyhanni.features.misc.JoinCrystalHollows import at.hannibal2.skyhanni.features.misc.LesserOrbHider import at.hannibal2.skyhanni.features.misc.LockMouseLook @@ -937,6 +938,7 @@ class SkyHanniMod { loadModule(HighlightPlaceableNpcs()) loadModule(PresentWaypoints()) loadModule(MiningEventTracker()) + loadModule(InWaterDisplay) loadModule(MiningNotifications) loadModule(JyrreTimer()) loadModule(TotemOfCorruption()) diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/stranded/StrandedConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/stranded/StrandedConfig.java index 595a0f173..f5e37c0c6 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/stranded/StrandedConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/stranded/StrandedConfig.java @@ -1,8 +1,10 @@ package at.hannibal2.skyhanni.config.features.stranded; import at.hannibal2.skyhanni.config.FeatureToggle; +import at.hannibal2.skyhanni.config.core.config.Position; import com.google.gson.annotations.Expose; import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorBoolean; +import io.github.notenoughupdates.moulconfig.annotations.ConfigLink; import io.github.notenoughupdates.moulconfig.annotations.ConfigOption; public class StrandedConfig { @@ -11,4 +13,14 @@ public class StrandedConfig { @ConfigEditorBoolean @FeatureToggle public boolean highlightPlaceableNpcs = false; + + @Expose + @ConfigOption(name = "In Water Display", desc = "Displays if the Player is in water.") + @ConfigEditorBoolean + @FeatureToggle + public boolean inWaterDisplay = false; + + @Expose + @ConfigLink(owner = StrandedConfig.class, field = "inWaterDisplay") + public Position inWaterPosition = new Position(20, 20); } diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/InWaterDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/InWaterDisplay.kt new file mode 100644 index 000000000..f5e15b04a --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/InWaterDisplay.kt @@ -0,0 +1,23 @@ +package at.hannibal2.skyhanni.features.misc + +import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.events.GuiRenderEvent +import at.hannibal2.skyhanni.utils.LorenzUtils +import at.hannibal2.skyhanni.utils.RenderUtils.renderStrings +import net.minecraft.client.Minecraft +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +object InWaterDisplay { + + private val config get() = SkyHanniMod.feature.misc.stranded + + @SubscribeEvent + fun onRenderOverlay(event: GuiRenderEvent.GuiOverlayRenderEvent) { + if (!isEnabled()) return + + val text = "§7In Water: " + if (Minecraft.getMinecraft().thePlayer.isInWater) "§aTrue" else "§cFalse" + config.inWaterPosition.renderStrings(listOf(text), posLabel = "In Water Display") + } + + private fun isEnabled() = LorenzUtils.inSkyBlock && config.inWaterDisplay +} |