diff options
author | Clicks <58398364+CuzImClicks@users.noreply.github.com> | 2024-09-24 10:26:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-24 10:26:42 +0200 |
commit | cf039c7e215b26f78eeb468cd911c5d8f8586115 (patch) | |
tree | bf7325da797e330c2e22ea16ee4f0a8b3c94c15a /src/main/java/at/hannibal2/skyhanni | |
parent | e4821befd023da38f8a054773e38b3f9a6f28210 (diff) | |
download | skyhanni-cf039c7e215b26f78eeb468cd911c5d8f8586115.tar.gz skyhanni-cf039c7e215b26f78eeb468cd911c5d8f8586115.tar.bz2 skyhanni-cf039c7e215b26f78eeb468cd911c5d8f8586115.zip |
Improvement: Option to hide all Tooltips inside of Excavator (#2579)
Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni')
3 files changed, 51 insertions, 11 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/mining/ExcavatorTooltipHiderConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/mining/ExcavatorTooltipHiderConfig.java new file mode 100644 index 000000000..b1489ace8 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/config/features/mining/ExcavatorTooltipHiderConfig.java @@ -0,0 +1,21 @@ +package at.hannibal2.skyhanni.config.features.mining; + +import at.hannibal2.skyhanni.config.FeatureToggle; +import com.google.gson.annotations.Expose; +import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorBoolean; +import io.github.notenoughupdates.moulconfig.annotations.ConfigOption; + +public class ExcavatorTooltipHiderConfig { + + @Expose + @ConfigOption(name = "Hide Dirt", desc = "Hides tooltips of the Dirt inside of the Fossil Excavator.") + @ConfigEditorBoolean + @FeatureToggle + public boolean hideDirt = true; + + @Expose + @ConfigOption(name = "Hide Everything", desc = "Hide all tooltips inside of the Fossil Excavator.") + @ConfigEditorBoolean + @FeatureToggle + public boolean hideEverything = false; +} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/mining/FossilExcavatorConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/mining/FossilExcavatorConfig.java index 8dfb12854..8445afe53 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/mining/FossilExcavatorConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/mining/FossilExcavatorConfig.java @@ -19,6 +19,11 @@ public class FossilExcavatorConfig { public ExcavatorProfitTrackerConfig profitTracker = new ExcavatorProfitTrackerConfig(); @Expose + @ConfigOption(name = "Excavator Tooltip Hider", desc = "") + @Accordion + public ExcavatorTooltipHiderConfig tooltipHider = new ExcavatorTooltipHiderConfig(); + + @Expose @ConfigOption( name = "Profit per Excavation", desc = "Show profit/loss in chat after each excavation. Also includes breakdown information on hover." @@ -36,12 +41,4 @@ public class FossilExcavatorConfig { @FeatureToggle public boolean glacitePowderStack = false; - @Expose - @ConfigOption( - name = "Hide Excavator Tooltips", - desc = "Hides tooltips of items inside of the Fossil Excavator." - ) - @ConfigEditorBoolean - @FeatureToggle - public boolean hideExcavatorTooltips = true; } diff --git a/src/main/java/at/hannibal2/skyhanni/features/mining/fossilexcavator/ExcavatorTooltipHider.kt b/src/main/java/at/hannibal2/skyhanni/features/mining/fossilexcavator/ExcavatorTooltipHider.kt index 8b58402cd..0b0469b91 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/mining/fossilexcavator/ExcavatorTooltipHider.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/mining/fossilexcavator/ExcavatorTooltipHider.kt @@ -3,20 +3,42 @@ package at.hannibal2.skyhanni.features.mining.fossilexcavator import at.hannibal2.skyhanni.SkyHanniMod import at.hannibal2.skyhanni.events.LorenzToolTipEvent import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule +import at.hannibal2.skyhanni.utils.ItemUtils.name +import at.hannibal2.skyhanni.utils.RegexUtils.matches +import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern import net.minecraft.client.player.inventory.ContainerLocalMenu import net.minecraftforge.fml.common.eventhandler.SubscribeEvent @SkyHanniModule object ExcavatorTooltipHider { - private val config get() = SkyHanniMod.feature.mining.fossilExcavator + private val config get() = SkyHanniMod.feature.mining.fossilExcavator.tooltipHider + + /** + * REGEX-TEST: §6Dirt + */ + private val dirtPattern by RepoPattern.pattern( + "excavator.dirt.name", + "§6Dirt", + ) @SubscribeEvent fun onTooltip(event: LorenzToolTipEvent) { if (!isEnabled()) return + if (event.slot.inventory !is ContainerLocalMenu) return - event.cancel() + if (config.hideEverything) { + event.cancel() + return + } + + if (config.hideDirt) { + val isDirt = dirtPattern.matches(event.itemStack.name) + if (isDirt) { + event.cancel() + } + } } - fun isEnabled() = FossilExcavatorAPI.inInventory && !FossilExcavatorAPI.inExcavatorMenu && config.hideExcavatorTooltips + fun isEnabled() = FossilExcavatorAPI.inInventory && !FossilExcavatorAPI.inExcavatorMenu } |