diff options
author | hannibal2 <24389977+hannibal002@users.noreply.github.com> | 2024-09-09 15:26:16 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-09 15:26:16 +0200 |
commit | 18da4a7c13d215fb6cd7969654986d9072dd24fa (patch) | |
tree | 493b5f4aed0e6511cac67cfdd7815d4eb7852b31 /src/main/java/at/hannibal2/skyhanni/features/event | |
parent | e17e70b6933982ca417577f441928f77cbbf9ef1 (diff) | |
download | skyhanni-18da4a7c13d215fb6cd7969654986d9072dd24fa.tar.gz skyhanni-18da4a7c13d215fb6cd7969654986d9072dd24fa.tar.bz2 skyhanni-18da4a7c13d215fb6cd7969654986d9072dd24fa.zip |
Improvement: SH Tracker Search (#2477)
Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features/event')
3 files changed, 37 insertions, 34 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/diana/DianaProfitTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/event/diana/DianaProfitTracker.kt index f8ae6165b..ade5966ea 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/event/diana/DianaProfitTracker.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/event/diana/DianaProfitTracker.kt @@ -9,7 +9,7 @@ import at.hannibal2.skyhanni.events.LorenzChatEvent import at.hannibal2.skyhanni.events.RepositoryReloadEvent import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule import at.hannibal2.skyhanni.utils.ChatUtils -import at.hannibal2.skyhanni.utils.CollectionUtils.addString +import at.hannibal2.skyhanni.utils.CollectionUtils.addSearchString import at.hannibal2.skyhanni.utils.LorenzUtils import at.hannibal2.skyhanni.utils.NEUInternalName import at.hannibal2.skyhanni.utils.NumberUtil.addSeparators @@ -19,6 +19,8 @@ import at.hannibal2.skyhanni.utils.RegexUtils.matchMatcher import at.hannibal2.skyhanni.utils.RegexUtils.matches import at.hannibal2.skyhanni.utils.SimpleTimeMark import at.hannibal2.skyhanni.utils.renderables.Renderable +import at.hannibal2.skyhanni.utils.renderables.Searchable +import at.hannibal2.skyhanni.utils.renderables.toSearchable import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern import at.hannibal2.skyhanni.utils.tracker.ItemTrackerData import at.hannibal2.skyhanni.utils.tracker.SkyHanniItemTracker @@ -77,8 +79,8 @@ object DianaProfitTracker { } } - private fun drawDisplay(data: Data): List<Renderable> = buildList { - addString("§e§lDiana Profit Tracker") + private fun drawDisplay(data: Data): List<Searchable> = buildList { + addSearchString("§e§lDiana Profit Tracker") val profit = tracker.drawItems(data, { true }, this) @@ -87,7 +89,7 @@ object DianaProfitTracker { Renderable.hoverTips( "§7Burrows dug: §e${treasureCoins.addSeparators()}", listOf("§7You dug out griffin burrows §e${treasureCoins.addSeparators()} §7times."), - ), + ).toSearchable(), ) add(tracker.addTotalProfit(profit, data.burrowsDug, "burrow")) diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/diana/MythologicalCreatureTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/event/diana/MythologicalCreatureTracker.kt index fc7442faf..ec882d6ec 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/event/diana/MythologicalCreatureTracker.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/event/diana/MythologicalCreatureTracker.kt @@ -6,14 +6,14 @@ import at.hannibal2.skyhanni.events.GuiRenderEvent import at.hannibal2.skyhanni.events.LorenzChatEvent import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule import at.hannibal2.skyhanni.utils.CollectionUtils.addOrPut -import at.hannibal2.skyhanni.utils.CollectionUtils.addString +import at.hannibal2.skyhanni.utils.CollectionUtils.addSearchString import at.hannibal2.skyhanni.utils.CollectionUtils.sumAllValues import at.hannibal2.skyhanni.utils.ConditionalUtils import at.hannibal2.skyhanni.utils.LorenzUtils import at.hannibal2.skyhanni.utils.NumberUtil.addSeparators import at.hannibal2.skyhanni.utils.RegexUtils.matches import at.hannibal2.skyhanni.utils.SimpleTimeMark -import at.hannibal2.skyhanni.utils.renderables.Renderable +import at.hannibal2.skyhanni.utils.renderables.Searchable import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern import at.hannibal2.skyhanni.utils.tracker.SkyHanniTracker import at.hannibal2.skyhanni.utils.tracker.TrackerData @@ -30,32 +30,31 @@ object MythologicalCreatureTracker { private val patternGroup = RepoPattern.group("event.diana.mythological.tracker") private val minotaurPattern by patternGroup.pattern( "minotaur", - ".* §r§eYou dug out a §r§2Minotaur§r§e!" + ".* §r§eYou dug out a §r§2Minotaur§r§e!", ) private val gaiaConstructPattern by patternGroup.pattern( "gaiaconstruct", - ".* §r§eYou dug out a §r§2Gaia Construct§r§e!" + ".* §r§eYou dug out a §r§2Gaia Construct§r§e!", ) private val minosChampionPattern by patternGroup.pattern( "minoschampion", - ".* §r§eYou dug out a §r§2Minos Champion§r§e!" + ".* §r§eYou dug out a §r§2Minos Champion§r§e!", ) private val siameseLynxesPattern by patternGroup.pattern( "siameselynxes", - ".* §r§eYou dug out §r§2Siamese Lynxes§r§e!" + ".* §r§eYou dug out §r§2Siamese Lynxes§r§e!", ) private val minosHunterPattern by patternGroup.pattern( "minoshunter", - ".* §r§eYou dug out a §r§2Minos Hunter§r§e!" + ".* §r§eYou dug out a §r§2Minos Hunter§r§e!", ) private val minosInquisitorPattern by patternGroup.pattern( "minosinquisitor", - ".* §r§eYou dug out a §r§2Minos Inquisitor§r§e!" + ".* §r§eYou dug out a §r§2Minos Inquisitor§r§e!", ) private val tracker = - SkyHanniTracker("Mythological Creature Tracker", { Data() }, { it.diana.mythologicalMobTracker }) - { drawDisplay(it) } + SkyHanniTracker("Mythological Creature Tracker", { Data() }, { it.diana.mythologicalMobTracker }) { drawDisplay(it) } class Data : TrackerData() { @@ -90,8 +89,7 @@ object MythologicalCreatureTracker { // TODO migrate to abstract feature in the future if (creatureType == MythologicalCreatureType.MINOS_INQUISITOR) { - event.chatComponent = - ChatComponentText(event.message + " §e(${it.creaturesSinceLastInquisitor})") + event.chatComponent = ChatComponentText(event.message + " §e(${it.creaturesSinceLastInquisitor})") it.creaturesSinceLastInquisitor = 0 } else it.creaturesSinceLastInquisitor++ } @@ -100,8 +98,8 @@ object MythologicalCreatureTracker { } } - private fun drawDisplay(data: Data): List<Renderable> = buildList { - addString("§7Mythological Creature Tracker:") + private fun drawDisplay(data: Data): List<Searchable> = buildList { + addSearchString("§7Mythological Creature Tracker:") val total = data.count.sumAllValues() for ((creatureType, amount) in data.count.entries.sortedByDescending { it.value }) { val percentageSuffix = if (config.showPercentage.get()) { @@ -109,10 +107,13 @@ object MythologicalCreatureTracker { " §7$percentage" } else "" - addString(" §7- §e${amount.addSeparators()} ${creatureType.displayName}$percentageSuffix") + addSearchString( + " §7- §e${amount.addSeparators()} ${creatureType.displayName}$percentageSuffix", + searchText = creatureType.displayName, + ) } - addString(" §7- §e${total.addSeparators()} §7Total Mythological Creatures") - addString(" §7- §e${data.creaturesSinceLastInquisitor.addSeparators()} §7Creatures since last Minos Inquisitor") + addSearchString(" §7- §e${total.addSeparators()} §7Total Mythological Creatures") + addSearchString(" §7- §e${data.creaturesSinceLastInquisitor.addSeparators()} §7Creatures since last Minos Inquisitor") } @SubscribeEvent diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/jerry/frozentreasure/FrozenTreasureTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/event/jerry/frozentreasure/FrozenTreasureTracker.kt index 4fc5b824b..80812c4c5 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/event/jerry/frozentreasure/FrozenTreasureTracker.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/event/jerry/frozentreasure/FrozenTreasureTracker.kt @@ -12,7 +12,7 @@ import at.hannibal2.skyhanni.events.LorenzWorldChangeEvent import at.hannibal2.skyhanni.events.SecondPassedEvent import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule import at.hannibal2.skyhanni.utils.CollectionUtils.addOrPut -import at.hannibal2.skyhanni.utils.CollectionUtils.addString +import at.hannibal2.skyhanni.utils.CollectionUtils.addSearchString import at.hannibal2.skyhanni.utils.ConfigUtils import at.hannibal2.skyhanni.utils.LorenzUtils.isInIsland import at.hannibal2.skyhanni.utils.NumberUtil.addSeparators @@ -20,7 +20,7 @@ import at.hannibal2.skyhanni.utils.NumberUtil.shortFormat import at.hannibal2.skyhanni.utils.RegexUtils.matchMatcher import at.hannibal2.skyhanni.utils.RegexUtils.matches import at.hannibal2.skyhanni.utils.StringUtils.removeColor -import at.hannibal2.skyhanni.utils.renderables.Renderable +import at.hannibal2.skyhanni.utils.renderables.Searchable import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern import at.hannibal2.skyhanni.utils.tracker.SkyHanniTracker import at.hannibal2.skyhanni.utils.tracker.TrackerData @@ -105,8 +105,8 @@ object FrozenTreasureTracker { icePerHour = (icePerSecond.average() * 3600).toInt() } - private fun formatDisplay(map: List<Renderable>): List<Renderable> { - val newList = mutableListOf<Renderable>() + private fun formatDisplay(map: List<Searchable>): List<Searchable> { + val newList = mutableListOf<Searchable>() for (index in config.textFormat) { // TODO, change functionality to use enum rather than ordinals newList.add(map[index.ordinal]) @@ -137,20 +137,20 @@ object FrozenTreasureTracker { } } - private fun drawDisplay(data: Data) = buildList { + private fun drawDisplay(data: Data) = buildList<Searchable> { calculateIce(data) - addString("§e§lFrozen Treasure Tracker") - addString("§6${formatNumber(data.treasuresMined)} Treasures Mined") - addString("§3${formatNumber(estimatedIce)} Total Ice") - addString("§3${formatNumber(icePerHour)} Ice/hr") - addString("§8${formatNumber(data.compactProcs)} Compact Procs") - addString("") + addSearchString("§e§lFrozen Treasure Tracker") + addSearchString("§6${formatNumber(data.treasuresMined)} Treasures Mined") + addSearchString("§3${formatNumber(estimatedIce)} Total Ice") + addSearchString("§3${formatNumber(icePerHour)} Ice/hr") + addSearchString("§8${formatNumber(data.compactProcs)} Compact Procs") + addSearchString("") for (treasure in FrozenTreasure.entries) { val count = (data.treasureCount[treasure] ?: 0) * if (config.showAsDrops) treasure.defaultAmount else 1 - addString("§b${formatNumber(count)} ${treasure.displayName}") + addSearchString("§b${formatNumber(count)} ${treasure.displayName}", treasure.displayName) } - addString("") + addSearchString("") } fun formatNumber(amount: Number): String { |