diff options
| author | hannibal2 <24389977+hannibal002@users.noreply.github.com> | 2024-09-08 13:36:19 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-08 13:36:19 +0200 |
| commit | 796ef7ca4139669f15e323c112378125760b5292 (patch) | |
| tree | f389143acf59ee7a8fd095503c49ddfd16205443 /src/main/java/at/hannibal2/skyhanni/features/mining | |
| parent | 7519ef5249502f9aa14e350e5e5b8b83eab0e1eb (diff) | |
| download | skyhanni-796ef7ca4139669f15e323c112378125760b5292.tar.gz skyhanni-796ef7ca4139669f15e323c112378125760b5292.tar.bz2 skyhanni-796ef7ca4139669f15e323c112378125760b5292.zip | |
Backend: No List<Any> in Trackers (#2474)
Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Co-authored-by: Cal <cwolfson58@gmail.com>
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features/mining')
2 files changed, 29 insertions, 28 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/mining/fossilexcavator/ExcavatorProfitTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/mining/fossilexcavator/ExcavatorProfitTracker.kt index ef3b780b7..655b885e0 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/mining/fossilexcavator/ExcavatorProfitTracker.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/mining/fossilexcavator/ExcavatorProfitTracker.kt @@ -9,7 +9,7 @@ import at.hannibal2.skyhanni.events.ItemAddEvent import at.hannibal2.skyhanni.events.mining.FossilExcavationEvent import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule import at.hannibal2.skyhanni.utils.ChatUtils -import at.hannibal2.skyhanni.utils.CollectionUtils.addAsSingletonList +import at.hannibal2.skyhanni.utils.CollectionUtils.addString import at.hannibal2.skyhanni.utils.ItemUtils.itemName import at.hannibal2.skyhanni.utils.LorenzUtils import at.hannibal2.skyhanni.utils.LorenzUtils.isInIsland @@ -73,12 +73,12 @@ object ExcavatorProfitTracker { private val scrapItem get() = FossilExcavatorAPI.scrapItem - private fun drawDisplay(data: Data): List<List<Any>> = buildList { - addAsSingletonList("§e§lFossil Excavation Profit Tracker") + private fun drawDisplay(data: Data): List<Renderable> = buildList { + addString("§e§lFossil Excavation Profit Tracker") var profit = tracker.drawItems(data, { true }, this) val timesExcavated = data.timesExcavated - addAsSingletonList( + add( Renderable.hoverTips( "§7Times excavated: §e${timesExcavated.addSeparators()}", listOf("§7You excavated §e${timesExcavated.addSeparators()} §7times."), @@ -93,12 +93,12 @@ object ExcavatorProfitTracker { addGlacitePowder(data) } - addAsSingletonList(tracker.addTotalProfit(profit, data.timesExcavated, "excavation")) + add(tracker.addTotalProfit(profit, data.timesExcavated, "excavation")) tracker.addPriceFromButton(this) } - private fun MutableList<List<Any>>.addFossilDust( + private fun MutableList<Renderable>.addFossilDust( fossilDustGained: Long, profit: Double, ): Double { @@ -106,7 +106,7 @@ object ExcavatorProfitTracker { // TODO use same price source as profit tracker val pricePer = scrapItem.getPrice() / 500 val fossilDustPrice = pricePer * fossilDustGained - addAsSingletonList( + add( Renderable.hoverTips( "§7${fossilDustGained.shortFormat()}x §fFossil Dust§7: §6${fossilDustPrice.shortFormat()}", listOf( @@ -121,10 +121,10 @@ object ExcavatorProfitTracker { return profit + fossilDustPrice } - private fun MutableList<List<Any>>.addGlacitePowder(data: Data) { + private fun MutableList<Renderable>.addGlacitePowder(data: Data) { val glacitePowderGained = data.glacitePowderGained if (glacitePowderGained <= 0) return - addAsSingletonList( + add( Renderable.hoverTips( "§bGlacite Powder§7: §e${glacitePowderGained.addSeparators()}", listOf( @@ -135,7 +135,7 @@ object ExcavatorProfitTracker { ) } - private fun MutableList<List<Any>>.addScrap( + private fun MutableList<Renderable>.addScrap( timesExcavated: Long, profit: Double, ): Double { @@ -143,7 +143,7 @@ object ExcavatorProfitTracker { // TODO use same price source as profit tracker val scrapPrice = timesExcavated * scrapItem.getPrice() val name = StringUtils.pluralize(timesExcavated.toInt(), scrapItem.itemName) - addAsSingletonList( + add( Renderable.hoverTips( "$name §7price: §c-${scrapPrice.shortFormat()}", listOf( diff --git a/src/main/java/at/hannibal2/skyhanni/features/mining/powdertracker/PowderTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/mining/powdertracker/PowderTracker.kt index 6edcac0a0..a8c81edab 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/mining/powdertracker/PowderTracker.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/mining/powdertracker/PowderTracker.kt @@ -16,8 +16,8 @@ import at.hannibal2.skyhanni.events.LorenzWorldChangeEvent import at.hannibal2.skyhanni.events.SecondPassedEvent import at.hannibal2.skyhanni.events.mining.PowderGainEvent import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule -import at.hannibal2.skyhanni.utils.CollectionUtils.addAsSingletonList import at.hannibal2.skyhanni.utils.CollectionUtils.addOrPut +import at.hannibal2.skyhanni.utils.CollectionUtils.addString import at.hannibal2.skyhanni.utils.ConditionalUtils.afterChange import at.hannibal2.skyhanni.utils.ConfigUtils import at.hannibal2.skyhanni.utils.LorenzUtils.isInIsland @@ -27,6 +27,7 @@ import at.hannibal2.skyhanni.utils.RegexUtils.groupOrNull import at.hannibal2.skyhanni.utils.RegexUtils.matchMatcher import at.hannibal2.skyhanni.utils.SimpleTimeMark import at.hannibal2.skyhanni.utils.TimeUtils +import at.hannibal2.skyhanni.utils.renderables.Renderable import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern import at.hannibal2.skyhanni.utils.tracker.SkyHanniTracker import at.hannibal2.skyhanni.utils.tracker.TrackerData @@ -283,10 +284,10 @@ object PowderTracker { } } - private fun formatDisplay(map: List<List<Any>>) = buildList<List<Any>> { + private fun formatDisplay(map: List<Renderable>) = buildList<Renderable> { if (map.isEmpty()) return@buildList - addAsSingletonList("§b§lPowder Tracker") + addString("§b§lPowder Tracker") for (index in config.textFormat.get()) { // TODO, change functionality to use enum rather than ordinals @@ -294,7 +295,7 @@ object PowderTracker { } } - private fun drawDisplay(data: Data): List<List<Any>> = buildList { + private fun drawDisplay(data: Data): List<Renderable> = buildList { calculate(data, gemstoneInfo, PowderChestReward.GEMSTONE_POWDER) calculate(data, mithrilInfo, PowderChestReward.MITHRIL_POWDER) calculate(data, diamondEssenceInfo, PowderChestReward.DIAMOND_ESSENCE) @@ -303,20 +304,20 @@ object PowderTracker { calculateHardStone(data) val chestPerHour = format(chestInfo.perHour) - addAsSingletonList("§d${data.totalChestPicked.addSeparators()} Total Chests Picked §7($chestPerHour/h)") - addAsSingletonList("§bDouble Powder: ${if (doublePowder) "§aActive! §7($powderTimer)" else "§cInactive!"}") + addString("§d${data.totalChestPicked.addSeparators()} Total Chests Picked §7($chestPerHour/h)") + addString("§bDouble Powder: ${if (doublePowder) "§aActive! §7($powderTimer)" else "§cInactive!"}") val entries = PowderChestReward.entries val rewards = data.rewards addPerHour(rewards, entries[0], mithrilInfo) addPerHour(rewards, entries[1], gemstoneInfo) - addAsSingletonList("") + addString("") addPerHour(rewards, entries[46], diamondEssenceInfo) addPerHour(rewards, entries[47], goldEssenceInfo) - addAsSingletonList("") + addString("") val hardStonePerHour = format(hardStoneInfo.perHour) - addAsSingletonList("§b${data.totalHardStoneCompacted.addSeparators()} §fHard Stone §bCompacted §7($hardStonePerHour/h)") - addAsSingletonList("") + addString("§b${data.totalHardStoneCompacted.addSeparators()} §fHard Stone §bCompacted §7($hardStonePerHour/h)") + addString("") for ((gem, color) in gemstones) { var totalGemstone = 0L @@ -333,38 +334,38 @@ object PowderTracker { } val (flawless, fine, flawed, rough) = convert(totalGemstone) - addAsSingletonList("§5${flawless}§7-§9${fine}§7-§a${flawed}§f-${rough} $color$gem Gemstone") + addString("§5${flawless}§7-§9${fine}§7-§a${flawed}§f-${rough} $color$gem Gemstone") } var totalParts = 0L for (reward in entries.subList(26, 32)) { // robots part val count = rewards.getOrDefault(reward, 0) totalParts += count - addAsSingletonList("§b${count.addSeparators()} ${reward.displayName}") + addString("§b${count.addSeparators()} ${reward.displayName}") } - addAsSingletonList("§b${totalParts.addSeparators()} §9Total Robot Parts") + addString("§b${totalParts.addSeparators()} §9Total Robot Parts") val goblinEgg = rewards.getOrDefault(PowderChestReward.GOBLIN_EGG, 0) val greenEgg = rewards.getOrDefault(PowderChestReward.GREEN_GOBLIN_EGG, 0) val redEgg = rewards.getOrDefault(PowderChestReward.RED_GOBLIN_EGG, 0) val yellowEgg = rewards.getOrDefault(PowderChestReward.YELLOW_GOBLIN_EGG, 0) val blueEgg = rewards.getOrDefault(PowderChestReward.BLUE_GOBLIN_EGG, 0) - addAsSingletonList("§3$blueEgg§7-§c$redEgg§7-§e$yellowEgg§f-§a$greenEgg§f-§9$goblinEgg §fGoblin Egg") + addString("§3$blueEgg§7-§c$redEgg§7-§e$yellowEgg§f-§a$greenEgg§f-§9$goblinEgg §fGoblin Egg") for (reward in entries.subList(37, 46)) { val count = rewards.getOrDefault(reward, 0).addSeparators() - addAsSingletonList("§b$count ${reward.displayName}") + addString("§b$count ${reward.displayName}") } } - private fun MutableList<List<Any>>.addPerHour( + private fun MutableList<Renderable>.addPerHour( map: Map<PowderChestReward, Long>, reward: PowderChestReward, info: ResourceInfo, ) { val mithrilCount = map.getOrDefault(reward, 0).addSeparators() val mithrilPerHour = format(info.perHour) - addAsSingletonList("§b$mithrilCount ${reward.displayName} §7($mithrilPerHour/h)") + addString("§b$mithrilCount ${reward.displayName} §7($mithrilPerHour/h)") } private fun format(e: Double): String = if (e < 0) "0" else e.toInt().addSeparators() |
