From d17941f261b027f325615dc985b498380f1450c1 Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal00212@users.noreply.github.com> Date: Thu, 30 Nov 2023 12:04:24 +0100 Subject: Clearing internal minion xp data on every inventory close. --- .../skyhanni/features/minion/MinionFeatures.kt | 1 - .../hannibal2/skyhanni/features/minion/MinionXp.kt | 30 ++++++++++------------ 2 files changed, 14 insertions(+), 17 deletions(-) (limited to 'src/main/java/at/hannibal2/skyhanni/features/minion') diff --git a/src/main/java/at/hannibal2/skyhanni/features/minion/MinionFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/minion/MinionFeatures.kt index bd1a5e468..a0f123a7f 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/minion/MinionFeatures.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/minion/MinionFeatures.kt @@ -180,7 +180,6 @@ class MinionFeatures { if (location !in minions) { minions[location]!!.lastClicked = 0 } - MinionXp.onMinionClose() } @SubscribeEvent diff --git a/src/main/java/at/hannibal2/skyhanni/features/minion/MinionXp.kt b/src/main/java/at/hannibal2/skyhanni/features/minion/MinionXp.kt index 3b2108648..110413323 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/minion/MinionXp.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/minion/MinionXp.kt @@ -2,6 +2,7 @@ package at.hannibal2.skyhanni.features.minion import at.hannibal2.skyhanni.SkyHanniMod import at.hannibal2.skyhanni.data.jsonobjects.repo.MinionXPJson +import at.hannibal2.skyhanni.events.InventoryCloseEvent import at.hannibal2.skyhanni.events.IslandChangeEvent import at.hannibal2.skyhanni.events.MinionOpenEvent import at.hannibal2.skyhanni.events.MinionStorageOpenEvent @@ -26,6 +27,15 @@ class MinionXp { private val config get() = SkyHanniMod.feature.minions + private val xpItemMap: MutableMap = mutableMapOf() + private val collectItemXpList: MutableList = mutableListOf() + + private var collectItem: Item? = null + + private val minionStorages = mutableListOf() + + private var xpInfoMap: Map = hashMapOf() + data class XpInfo(val type: XpType, val amount: Double) private data class MinionStorage(val position: LorenzVec, val xpList: EnumMap) { @@ -49,10 +59,6 @@ class MinionXp { Alchemy } - private var collectItem: Item? = null - - private val minionStorages = mutableListOf() - @SubscribeEvent fun onMinionOpen(event: MinionOpenEvent) { if (!config.xpDisplay) return @@ -174,13 +180,10 @@ class MinionXp { collectItemXpList.clear() } - companion object { - private val xpItemMap: MutableMap = mutableMapOf() - private val collectItemXpList: MutableList = mutableListOf() - fun onMinionClose() { - xpItemMap.clear() - collectItemXpList.clear() - } + @SubscribeEvent + fun onInventoryClose(event: InventoryCloseEvent) { + xpItemMap.clear() + collectItemXpList.clear() } @SubscribeEvent @@ -189,9 +192,4 @@ class MinionXp { xpType.value.mapNotNull { it.key.asInternalName() to XpInfo(XpType.valueOf(xpType.key), it.value) } }.flatten().toMap() } - - private var xpInfoMap: Map = hashMapOf() } - -/* it.key.asInternalName() to - XpInfo(XpType.valueOf(it.value.type), it.value.value) */ -- cgit