From 18da4a7c13d215fb6cd7969654986d9072dd24fa Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal002@users.noreply.github.com> Date: Mon, 9 Sep 2024 15:26:16 +0200 Subject: Improvement: SH Tracker Search (#2477) Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> --- .../skyhanni/features/garden/farming/ArmorDropTracker.kt | 10 +++++----- .../skyhanni/features/garden/farming/DicerRngDropTracker.kt | 13 +++++++------ .../skyhanni/features/garden/pests/PestProfitTracker.kt | 10 ++++++---- 3 files changed, 18 insertions(+), 15 deletions(-) (limited to 'src/main/java/at/hannibal2/skyhanni/features/garden') diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/ArmorDropTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/ArmorDropTracker.kt index 1e9397d5f..90c68a046 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/ArmorDropTracker.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/ArmorDropTracker.kt @@ -14,13 +14,13 @@ import at.hannibal2.skyhanni.features.garden.CropType import at.hannibal2.skyhanni.features.garden.GardenAPI 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.sortedDesc import at.hannibal2.skyhanni.utils.InventoryUtils import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName import at.hannibal2.skyhanni.utils.NumberUtil.addSeparators 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 @@ -84,11 +84,11 @@ object ArmorDropTracker { } } - private fun drawDisplay(data: Data): List = buildList { - addString("§7Armor Drop Tracker:") + private fun drawDisplay(data: Data): List = buildList { + addSearchString("§7Armor Drop Tracker:") for ((drop, amount) in data.drops.sortedDesc()) { val dropName = drop.dropName - addString(" §7- §e${amount.addSeparators()}x $dropName") + addSearchString(" §7- §e${amount.addSeparators()}x $dropName", dropName) } } diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/DicerRngDropTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/DicerRngDropTracker.kt index 34d3fe53d..8cc8c55cb 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/DicerRngDropTracker.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/DicerRngDropTracker.kt @@ -10,12 +10,15 @@ import at.hannibal2.skyhanni.features.garden.CropType import at.hannibal2.skyhanni.features.garden.GardenAPI import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule import at.hannibal2.skyhanni.utils.CollectionUtils.addOrPut +import at.hannibal2.skyhanni.utils.CollectionUtils.addSearchString import at.hannibal2.skyhanni.utils.CollectionUtils.sortedDesc import at.hannibal2.skyhanni.utils.ConditionalUtils import at.hannibal2.skyhanni.utils.ItemUtils.name import at.hannibal2.skyhanni.utils.NumberUtil.addSeparators import at.hannibal2.skyhanni.utils.RegexUtils.matchMatcher 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.SkyHanniTracker import at.hannibal2.skyhanni.utils.tracker.TrackerData @@ -120,30 +123,28 @@ object DicerRngDropTracker { } } - private fun drawDisplay(data: Data) = buildList { + private fun drawDisplay(data: Data) = buildList { val cropInHand = cropInHand ?: return@buildList val topLine = mutableListOf() topLine.add(Renderable.itemStack(cropInHand.icon)) topLine.add(Renderable.string("§7Dicer Tracker:")) - add(Renderable.horizontalContainer(topLine)) + add(Renderable.horizontalContainer(topLine).toSearchable()) val items = data.drops[cropInHand] ?: return@buildList - val list = mutableListOf() if (config.compact.get()) { val compactLine = items.sortedDesc().map { (rarity, amount) -> "§${rarity.colorCode}${amount.addSeparators()}" }.joinToString("§7/") - list.add(Renderable.string(compactLine)) + addSearchString(compactLine) } else { for ((rarity, amount) in items.sortedDesc()) { val colorCode = rarity.colorCode val displayName = rarity.displayName - list.add(Renderable.string(" §7- §e${amount.addSeparators()}x §$colorCode$displayName")) + addSearchString(" §7- §e${amount.addSeparators()}x §$colorCode$displayName", displayName) } } - add(Renderable.verticalContainer(list)) } private var cropInHand: CropType? = null diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/pests/PestProfitTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/pests/PestProfitTracker.kt index 7dcd07861..19506109e 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/pests/PestProfitTracker.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/pests/PestProfitTracker.kt @@ -11,7 +11,7 @@ import at.hannibal2.skyhanni.events.PurseChangeCause import at.hannibal2.skyhanni.events.PurseChangeEvent import at.hannibal2.skyhanni.features.garden.GardenAPI import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule -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.NumberUtil.shortFormat import at.hannibal2.skyhanni.utils.RegexUtils.matchMatcher 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 @@ -117,8 +119,8 @@ object PestProfitTracker { lastPestKillTime = SimpleTimeMark.now() } - private fun drawDisplay(data: Data): List = buildList { - addString("§e§lPest Profit Tracker") + private fun drawDisplay(data: Data): List = buildList { + addSearchString("§e§lPest Profit Tracker") val profit = tracker.drawItems(data, { true }, this) val pestsKilled = data.totalPestsKills @@ -126,7 +128,7 @@ object PestProfitTracker { Renderable.hoverTips( "§7Pests killed: §e${pestsKilled.addSeparators()}", listOf("§7You killed pests §e${pestsKilled.addSeparators()} §7times."), - ), + ).toSearchable(), ) add(tracker.addTotalProfit(profit, data.totalPestsKills, "kill")) -- cgit