From e03ba746fa0ab6258fcd5e6855d1590b0ba6f5c9 Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal00212@users.noreply.github.com> Date: Thu, 9 Nov 2023 18:39:30 +0100 Subject: SkyHanniTracker now handles the display list as well. --- .../combat/endernodetracker/EnderNodeTracker.kt | 30 +++++++--------------- 1 file changed, 9 insertions(+), 21 deletions(-) (limited to 'src/main/java/at/hannibal2/skyhanni/features/combat') diff --git a/src/main/java/at/hannibal2/skyhanni/features/combat/endernodetracker/EnderNodeTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/combat/endernodetracker/EnderNodeTracker.kt index 1b10bf7eb..b65021067 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/combat/endernodetracker/EnderNodeTracker.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/combat/endernodetracker/EnderNodeTracker.kt @@ -30,13 +30,15 @@ object EnderNodeTracker { private val config get() = SkyHanniMod.feature.combat.enderNodeTracker private var miteGelInInventory = 0 - private var display = emptyList>() - private var lootProfit = mapOf() private val enderNodeRegex = Regex("""ENDER NODE!.+You found (\d+x )?§r(.+)§r§f!""") private val endermanRegex = Regex("""(RARE|PET) DROP! §r(.+) §r§b\(""") - private val tracker = SkyHanniTracker("Ender Node Tracker", { Data() }, { it.enderNodeTracker }) { update() } + private val tracker = SkyHanniTracker("Ender Node Tracker", { Data() }, { it.enderNodeTracker }) { + formatDisplay( + drawDisplay(it) + ) + } class Data : TrackerData() { @@ -94,7 +96,6 @@ object EnderNodeTracker { storage.lootCount.addOrPut(it, amount) } } - update() } @SubscribeEvent @@ -119,8 +120,6 @@ object EnderNodeTracker { tracker.modify { storage -> storage.lootCount.addOrPut(EnderNode.MITE_GEL, change.delta) } - - update() } @SubscribeEvent @@ -138,7 +137,6 @@ object EnderNodeTracker { tracker.modify { storage -> storage.lootCount.addOrPut(EnderNode.MITE_GEL, change) } - update() } miteGelInInventory = newMiteGelInInventory } @@ -149,15 +147,15 @@ object EnderNodeTracker { if (!config.enabled) return if (!isInTheEnd()) return - tracker.renderDisplay(config.position, display) + tracker.renderDisplay(config.position) } @SubscribeEvent fun onConfigLoad(event: ConfigLoadEvent) { config.textFormat.afterChange { - update() + tracker.update() } - update() + tracker.update() } @SubscribeEvent @@ -183,12 +181,6 @@ object EnderNodeTracker { return newProfit } - private fun update() { - val storage = tracker.currentDisplay() ?: return - lootProfit = calculateProfit(storage) - display = formatDisplay(drawDisplay(storage)) - } - private fun isInTheEnd() = LorenzUtils.skyBlockArea == "The End" private fun isEnderArmor(displayName: EnderNode) = when (displayName) { @@ -212,7 +204,7 @@ object EnderNodeTracker { } private fun drawDisplay(storage: Data) = buildList> { - if (!ProfileStorageData.loaded) return emptyList>() + val lootProfit = calculateProfit(storage) addAsSingletonList("§5§lEnder Node Tracker") addAsSingletonList("§d${storage.totalNodesMined.addSeparators()} Ender Nodes mined") @@ -254,11 +246,7 @@ object EnderNodeTracker { val newList = mutableListOf>() for (index in config.textFormat.get()) { newList.add(map[index]) - if (newList.size == 1) { - tracker.addDisplayModeToggle(newList) - } } - tracker.addSessionResetButton(newList) return newList } -- cgit