diff options
| author | hannibal2 <24389977+hannibal002@users.noreply.github.com> | 2024-05-13 12:00:18 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-13 12:00:18 +0200 |
| commit | 4fe2010286136dc4192234c404f19fc720503765 (patch) | |
| tree | 55d31463691f447deb69273340cf46e9e92b04fb /src/main/java/at/hannibal2/skyhanni/features/combat | |
| parent | da3c40aa2c9826ccda25b79f32449233981f9bfe (diff) | |
| download | skyhanni-4fe2010286136dc4192234c404f19fc720503765.tar.gz skyhanni-4fe2010286136dc4192234c404f19fc720503765.tar.bz2 skyhanni-4fe2010286136dc4192234c404f19fc720503765.zip | |
Feature: simple ferocity display (#1765)
Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features/combat')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/combat/FerocityDisplay.kt | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/combat/FerocityDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/combat/FerocityDisplay.kt new file mode 100644 index 000000000..c589922cf --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/features/combat/FerocityDisplay.kt @@ -0,0 +1,45 @@ +package at.hannibal2.skyhanni.features.combat + +import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.events.GuiRenderEvent +import at.hannibal2.skyhanni.events.TabListUpdateEvent +import at.hannibal2.skyhanni.utils.LorenzUtils +import at.hannibal2.skyhanni.utils.RenderUtils.renderString +import at.hannibal2.skyhanni.utils.StringUtils.matchFirst +import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +class FerocityDisplay { + private val config get() = SkyHanniMod.feature.combat.ferocityDisplay + + /** + * REGEX-TEST: Ferocity: §r§c⫽14 + */ + private val ferocityPattern by RepoPattern.pattern( + "combat.ferocity.tab", + " Ferocity: §r§c⫽(?<stat>.*)" + ) + + private var display = "" + + @SubscribeEvent + fun onTabListUpdate(event: TabListUpdateEvent) { + if (!isEnabled()) return + display = "" + val stat = event.tabList.matchFirst(ferocityPattern) { + group("stat") + } ?: return + + display = "§c⫽$stat" + + } + + @SubscribeEvent + fun onRenderOverlay(event: GuiRenderEvent) { + if (!isEnabled()) return + + config.position.renderString(display, posLabel = "Ferocity Display") + } + + fun isEnabled() = LorenzUtils.inSkyBlock && config.enabled +} |
