diff options
author | hannibal2 <24389977+hannibal002@users.noreply.github.com> | 2023-09-26 11:47:58 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-26 11:47:58 +0200 |
commit | 2ed9e4a59ed99f3b9927a3cd6cda3f19d652fd30 (patch) | |
tree | acbf1fc5f97e590448e1d50490811dd5e50785e7 /src/main/java/at/hannibal2/skyhanni/features | |
parent | 5b4f020ec6aaae0afea309b772bf89fb1493e4d3 (diff) | |
download | skyhanni-2ed9e4a59ed99f3b9927a3cd6cda3f19d652fd30.tar.gz skyhanni-2ed9e4a59ed99f3b9927a3cd6cda3f19d652fd30.tar.bz2 skyhanni-2ed9e4a59ed99f3b9927a3cd6cda3f19d652fd30.zip |
Feature: Color class levels in tab list (#398)
Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features')
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonLevelColor.kt | 24 | ||||
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonRankTabListColor.kt | 34 |
2 files changed, 46 insertions, 12 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonLevelColor.kt b/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonLevelColor.kt index 4f5ca684f..2a044adef 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonLevelColor.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonLevelColor.kt @@ -34,16 +34,16 @@ class DungeonLevelColor { } } } - - private fun getColor(level: Int): String { - if (level >= 50) return "§c§l" - if (level >= 45) return "§c" - if (level >= 40) return "§d" - if (level >= 35) return "§6" - if (level >= 30) return "§5" - if (level >= 25) return "§9" - if (level >= 20) return "§a" - if (level >= 10) return "§f" - return "§7" - } } + +fun getColor(level: Int): String { + if (level >= 50) return "§c§l" + if (level >= 45) return "§c" + if (level >= 40) return "§d" + if (level >= 35) return "§6" + if (level >= 30) return "§5" + if (level >= 25) return "§9" + if (level >= 20) return "§a" + if (level >= 10) return "§f" + return "§7" +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonRankTabListColor.kt b/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonRankTabListColor.kt new file mode 100644 index 000000000..9a28dcc06 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonRankTabListColor.kt @@ -0,0 +1,34 @@ +package at.hannibal2.skyhanni.features.dungeon + +import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.events.TabListLineRenderEvent +import at.hannibal2.skyhanni.utils.LorenzUtils +import at.hannibal2.skyhanni.utils.NumberUtil.romanToDecimal +import at.hannibal2.skyhanni.utils.StringUtils.cleanPlayerName +import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +class DungeonRankTabListColor { + private val config get() = SkyHanniMod.feature.dungeon.tabList + private val pattern = "§r(?<playerName>.*) §r§f\\(§r§d(?<className>.*) (?<classLevel>.*)§r§f\\)§r".toPattern() + + @SubscribeEvent + fun onTabListText(event: TabListLineRenderEvent) { + if (!isEnabled()) return + + pattern.matchMatcher(event.text) { + val playerName = group("playerName") + val split = playerName.split(" ") + val sbLevel = split[0] + val cleanName = split[1].cleanPlayerName() + + val className = group("className") + val level = group("classLevel").romanToDecimal() + val color = getColor(level) + + event.text = "$sbLevel §b$cleanName §7(§e$className $color$level§7)" + } + } + + fun isEnabled() = LorenzUtils.inDungeons && config.coloredClassLevel +} |