From 02c9ce15e053d5d0751c32ea3ef481c9eef7a904 Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal002@users.noreply.github.com> Date: Sat, 7 Sep 2024 07:05:45 +0200 Subject: Feature: /shedittracker (#2448) Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> --- .../features/event/diana/DianaProfitTracker.kt | 24 +++++++++++++--------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'src/main/java/at/hannibal2/skyhanni/features/event') 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 1ba2724c3..01d2c1d2e 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 @@ -1,6 +1,7 @@ package at.hannibal2.skyhanni.features.event.diana import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.data.ItemAddManager import at.hannibal2.skyhanni.data.jsonobjects.repo.DianaDropsJson import at.hannibal2.skyhanni.events.GuiRenderEvent import at.hannibal2.skyhanni.events.ItemAddEvent @@ -33,17 +34,18 @@ object DianaProfitTracker { private val patternGroup = RepoPattern.group("diana.chat") private val chatDugOutPattern by patternGroup.pattern( "burrow.dug", - "(§eYou dug out a Griffin Burrow!|§eYou finished the Griffin burrow chain!) .*" + "(§eYou dug out a Griffin Burrow!|§eYou finished the Griffin burrow chain!) .*", ) private val chatDugOutCoinsPattern by patternGroup.pattern( "coins", - "§6§lWow! §r§eYou dug out §r§6(?.*) coins§r§e!" + "§6§lWow! §r§eYou dug out §r§6(?.*) coins§r§e!", ) private val tracker = SkyHanniItemTracker( "Diana Profit Tracker", { Data() }, - { it.diana.dianaProfitTracker }) { drawDisplay(it) } + { it.diana.dianaProfitTracker }, + ) { drawDisplay(it) } class Data : ItemTrackerData() { @@ -70,7 +72,7 @@ object DianaProfitTracker { val burrowDugCoinsFormat = item.totalAmount.shortFormat() return listOf( "§7Digging treasures gave you", - "§6$burrowDugCoinsFormat coins §7in total." + "§6$burrowDugCoinsFormat coins §7in total.", ) } } @@ -84,8 +86,8 @@ object DianaProfitTracker { addAsSingletonList( Renderable.hoverTips( "§7Burrows dug: §e${treasureCoins.addSeparators()}", - listOf("§7You dug out griffin burrows §e${treasureCoins.addSeparators()} §7times.") - ) + listOf("§7You dug out griffin burrows §e${treasureCoins.addSeparators()} §7times."), + ), ) addAsSingletonList(tracker.addTotalProfit(profit, data.burrowsDug, "burrow")) @@ -97,14 +99,16 @@ object DianaProfitTracker { fun onItemAdd(event: ItemAddEvent) { if (!isEnabled()) return - val internalName = event.internalName + tryAddItem(event.internalName, event.amount, event.source == ItemAddManager.Source.COMMAND) + } - if (!isAllowedItem(internalName)) { + private fun tryAddItem(internalName: NEUInternalName, amount: Int, command: Boolean) { + if (!isAllowedItem(internalName) && internalName != NEUInternalName.SKYBLOCK_COIN) { ChatUtils.debug("Ignored non-diana item pickup: '$internalName'") return } - tracker.addItem(internalName, event.amount) + tracker.addItem(internalName, amount, command) } @SubscribeEvent @@ -119,7 +123,7 @@ object DianaProfitTracker { } chatDugOutCoinsPattern.matchMatcher(message) { BurrowAPI.lastBurrowRelatedChatMessage = SimpleTimeMark.now() - tracker.addCoins(group("coins").formatInt()) + tryAddItem(NEUInternalName.SKYBLOCK_COIN, group("coins").formatInt(), command = false) tryHide(event) } -- cgit