diff options
| author | CalMWolfs <94038482+CalMWolfs@users.noreply.github.com> | 2024-04-07 21:36:08 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-07 13:36:08 +0200 |
| commit | fcd404d862b4b051474898076fcc06b406d1ea91 (patch) | |
| tree | 7659d22a41d1529a8d4ebaa62958bc0934596431 | |
| parent | 03c416202ccdec17cc46f6d07aae111fa977771a (diff) | |
| download | skyhanni-fcd404d862b4b051474898076fcc06b406d1ea91.tar.gz skyhanni-fcd404d862b4b051474898076fcc06b406d1ea91.tar.bz2 skyhanni-fcd404d862b4b051474898076fcc06b406d1ea91.zip | |
Backend: Remove a lot of deprecated code (#1371)
Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
35 files changed, 293 insertions, 364 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/QuiverAPI.kt b/src/main/java/at/hannibal2/skyhanni/data/QuiverAPI.kt index 2297b3cf5..4fbe0be37 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/QuiverAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/QuiverAPI.kt @@ -17,7 +17,7 @@ import at.hannibal2.skyhanni.utils.LorenzUtils import at.hannibal2.skyhanni.utils.LorenzUtils.round import at.hannibal2.skyhanni.utils.NEUInternalName import at.hannibal2.skyhanni.utils.NEUInternalName.Companion.asInternalName -import at.hannibal2.skyhanni.utils.NumberUtil.formatNumber +import at.hannibal2.skyhanni.utils.NumberUtil.formatFloat import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getEnchantments import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher import at.hannibal2.skyhanni.utils.StringUtils.matches @@ -97,7 +97,7 @@ object QuiverAPI { fillUpJaxPattern.matchMatcher(message) { val type = group("type") - val amount = group("amount").formatNumber().toFloat() + val amount = group("amount").formatFloat() val filledUpType = getArrowByNameOrNull(type) ?: return ErrorManager.logErrorWithData( UnknownArrowType("Unknown arrow type: $type"), @@ -110,7 +110,7 @@ object QuiverAPI { } fillUpPattern.matchMatcher(message) { - val flintAmount = group("flintAmount").formatNumber().toFloat() + val flintAmount = group("flintAmount").formatFloat() FLINT_ARROW_TYPE?.let { arrowAmount.addOrPut(it.internalName, flintAmount) } return @@ -118,7 +118,7 @@ object QuiverAPI { addedToQuiverPattern.matchMatcher(message) { val type = group("type") - val amount = group("amount").formatNumber().toFloat() + val amount = group("amount").formatFloat() val filledUpType = getArrowByNameOrNull(type) ?: return ErrorManager.logErrorWithData( diff --git a/src/main/java/at/hannibal2/skyhanni/data/SackAPI.kt b/src/main/java/at/hannibal2/skyhanni/data/SackAPI.kt index 6f96cafc1..fe7c388f4 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/SackAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/SackAPI.kt @@ -20,7 +20,8 @@ import at.hannibal2.skyhanni.utils.NEUInternalName.Companion.asInternalName import at.hannibal2.skyhanni.utils.NEUItems.getNpcPriceOrNull import at.hannibal2.skyhanni.utils.NEUItems.getPrice import at.hannibal2.skyhanni.utils.NumberUtil.formatInt -import at.hannibal2.skyhanni.utils.NumberUtil.formatLong +import at.hannibal2.skyhanni.utils.NumberUtil.romanToDecimal +import at.hannibal2.skyhanni.utils.StringUtils.matchFirst import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher import at.hannibal2.skyhanni.utils.StringUtils.matches import at.hannibal2.skyhanni.utils.StringUtils.removeColor @@ -99,18 +100,12 @@ object SackAPI { else null } - private fun NEUInternalName.sackPrice(stored: String) = when (sackDisplayConfig.priceFrom) { - PriceFrom.BAZAAR -> (getPrice(true) * stored.formatLong()).toLong() - .let { if (it < 0) 0L else it } - - PriceFrom.NPC -> try { - val npcPrice = getNpcPriceOrNull() ?: 0.0 - (npcPrice * stored.formatLong()).toLong() - } catch (e: Exception) { - 0L + private fun NEUInternalName.sackPrice(stored: Int): Long { + return when (sackDisplayConfig.priceFrom) { + PriceFrom.BAZAAR -> (getPrice() * stored).toLong().coerceAtLeast(0) + PriceFrom.NPC -> (getNpcPriceOrNull() ?: 0.0).toLong() * stored + else -> 0L } - - else -> 0L } fun getSacksData(savingSacks: Boolean) { @@ -118,82 +113,79 @@ object SackAPI { for ((_, stack) in stackList) { val name = stack.name val lore = stack.getLore() - val gem = SackGemstone() - val rune = SackRune() - val item = SackOtherItem() - loop@ for (line in lore) { - if (isGemstoneSack) { - gemstonePattern.matchMatcher(line) { - val rarity = group("gemrarity") - val stored = group("stored") - gem.internalName = gemstoneMap[name.removeColor()] ?: NEUInternalName.NONE - if (gemstoneMap.containsKey(name.removeColor())) { - val internalName = "${rarity.uppercase()}_${ - name.uppercase().split(" ")[0].removeColor() - }_GEM".asInternalName() - - when (rarity) { - "Rough" -> { - gem.rough = stored - gem.roughPrice = internalName.sackPrice(stored) - if (savingSacks) setSackItem(internalName, stored.formatLong()) - } - - "Flawed" -> { - gem.flawed = stored - gem.flawedPrice = internalName.sackPrice(stored) - if (savingSacks) setSackItem(internalName, stored.formatLong()) - } - - "Fine" -> { - gem.fine = stored - gem.finePrice = internalName.sackPrice(stored) - if (savingSacks) setSackItem(internalName, stored.formatLong()) - } - } - gemstoneItem[name] = gem - } - } - } else { - numPattern.matchMatcher(line) { - val stored = group("stored") - val internalName = stack.getInternalName() - item.internalName = internalName - item.colorCode = group("color") - item.stored = stored - item.total = group("total") - - if (savingSacks) setSackItem(item.internalName, item.stored.formatLong()) - item.price = if (isTrophySack) { - val filletPerTrophy = FishingAPI.getFilletPerTrophy(stack.getInternalName()) - val filletValue = filletPerTrophy * stored.formatLong() - item.magmaFish = filletValue - "MAGMA_FISH".asInternalName().sackPrice(filletValue.toString()) - } else { - internalName.sackPrice(stored).coerceAtLeast(0) - } + if (isGemstoneSack) { + lore.matchFirst(gemstonePattern) { + val gem = SackGemstone() + val rarity = group("gemrarity") + val stored = group("stored").formatInt() + gem.internalName = gemstoneMap[name.removeColor()] ?: NEUInternalName.NONE + if (gemstoneMap.containsKey(name.removeColor())) { + val internalName = "${rarity.uppercase()}_${ + name.uppercase().split(" ")[0].removeColor() + }_GEM".asInternalName() + + when (rarity) { + "Rough" -> { + gem.rough = stored + gem.roughPrice = internalName.sackPrice(stored) + if (savingSacks) setSackItem(internalName, stored) + } - if (isRuneSack) { - val level = group("level") - rune.stack = stack - if (level == "I") { - rune.lvl1 = stored - continue@loop + "Flawed" -> { + gem.flawed = stored + gem.flawedPrice = internalName.sackPrice(stored) + if (savingSacks) setSackItem(internalName, stored) } - if (level == "II") { - rune.lvl2 = stored - continue@loop + + "Fine" -> { + gem.fine = stored + gem.finePrice = internalName.sackPrice(stored) + if (savingSacks) setSackItem(internalName, stored) } - if (level == "III") { + } + gemstoneItem[name] = gem + } + } + } else if (isRuneSack) { + val rune = SackRune() + for (line in lore) { + numPattern.matchMatcher(line) { + val level = group("level").romanToDecimal() + val stored = group("stored").formatInt() + rune.stack = stack + + when (level) { + 1 -> rune.lvl1 = stored + 2 -> rune.lvl2 = stored + 3 -> { rune.lvl3 = stored + runeItem[name] = rune } - runeItem.put(name, rune) - } else { - sackItem.put(name, item) } } } + } else { + lore.matchFirst(numPattern) { + val item = SackOtherItem() + val stored = group("stored").formatInt() + val internalName = stack.getInternalName() + item.internalName = internalName + item.colorCode = group("color") + item.stored = group("stored").formatInt() + item.total = group("total").formatInt() + + if (savingSacks) setSackItem(item.internalName, item.stored) + item.price = if (isTrophySack) { + val filletPerTrophy = FishingAPI.getFilletPerTrophy(stack.getInternalName()) + val filletValue = filletPerTrophy * stored + item.magmaFish = filletValue + "MAGMA_FISH".asInternalName().sackPrice(filletValue) + } else { + internalName.sackPrice(stored).coerceAtLeast(0) + } + sackItem[name] = item + } } } if (savingSacks) saveSackData() @@ -261,7 +253,7 @@ object SackAPI { if (sackData.containsKey(item.key)) { val oldData = sackData[item.key] var newAmount = oldData!!.amount + item.value - var changed = (newAmount - oldData.amount).toInt() + var changed = (newAmount - oldData.amount) if (newAmount < 0) { newAmount = 0 changed = 0 @@ -270,7 +262,7 @@ object SackAPI { } else { val newAmount = if (item.value > 0) item.value else 0 sackData = - sackData.editCopy { this[item.key] = SackItem(newAmount.toLong(), newAmount, SackStatus.OUTDATED) } + sackData.editCopy { this[item.key] = SackItem(newAmount, newAmount, SackStatus.OUTDATED) } } } @@ -284,7 +276,7 @@ object SackAPI { saveSackData() } - private fun setSackItem(item: NEUInternalName, amount: Long) { + private fun setSackItem(item: NEUInternalName, amount: Int) { sackData = sackData.editCopy { this[item] = SackItem(amount, 0, SackStatus.CORRECT) } } @@ -308,9 +300,9 @@ object SackAPI { data class SackGemstone( var internalName: NEUInternalName = NEUInternalName.NONE, - var rough: String = "0", - var flawed: String = "0", - var fine: String = "0", + var rough: Int = 0, + var flawed: Int = 0, + var fine: Int = 0, var roughPrice: Long = 0, var flawedPrice: Long = 0, var finePrice: Long = 0, @@ -318,28 +310,28 @@ object SackAPI { data class SackRune( var stack: ItemStack? = null, - var lvl1: String = "0", - var lvl2: String = "0", - var lvl3: String = "0", + var lvl1: Int = 0, + var lvl2: Int = 0, + var lvl3: Int = 0, ) data class SackOtherItem( var internalName: NEUInternalName = NEUInternalName.NONE, var colorCode: String = "", - var stored: String = "0", - var total: String = "0", + var stored: Int = 0, + var total: Int = 0, var price: Long = 0, - var magmaFish: Long = 0, + var magmaFish: Int = 0, ) - fun NEUInternalName.getAmountInSacksOrNull(): Long? = + fun NEUInternalName.getAmountInSacksOrNull(): Int? = fetchSackItem(this).takeIf { it.statusIsCorrectOrAlright() }?.amount - fun NEUInternalName.getAmountInSacks(): Long = getAmountInSacksOrNull() ?: 0 + fun NEUInternalName.getAmountInSacks(): Int = getAmountInSacksOrNull() ?: 0 } data class SackItem( - @Expose val amount: Long, + @Expose val amount: Int, @Expose val lastChange: Int, @Expose private val status: SackStatus?, ) { diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/SacksJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/SacksJson.java deleted file mode 100644 index e8bb83a79..000000000 --- a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/SacksJson.java +++ /dev/null @@ -1,12 +0,0 @@ -package at.hannibal2.skyhanni.data.jsonobjects.repo; - -import com.google.gson.annotations.Expose; - -import java.util.List; - -public class SacksJson { - - @Deprecated - @Expose - public List<String> sackList; -} diff --git a/src/main/java/at/hannibal2/skyhanni/events/SecondPassedEvent.kt b/src/main/java/at/hannibal2/skyhanni/events/SecondPassedEvent.kt index d8290703d..0175fefc5 100644 --- a/src/main/java/at/hannibal2/skyhanni/events/SecondPassedEvent.kt +++ b/src/main/java/at/hannibal2/skyhanni/events/SecondPassedEvent.kt @@ -1,5 +1,5 @@ package at.hannibal2.skyhanni.events class SecondPassedEvent(private val totalSeconds: Int) : LorenzEvent() { - fun repeatSeconds(i: Int) = i % totalSeconds + fun repeatSeconds(i: Int) = i % totalSeconds == 0 } diff --git a/src/main/java/at/hannibal2/skyhanni/features/combat/ghostcounter/GhostCounter.kt b/src/main/java/at/hannibal2/skyhanni/features/combat/ghostcounter/GhostCounter.kt index 8f28038fa..0b0a444d9 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/combat/ghostcounter/GhostCounter.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/combat/ghostcounter/GhostCounter.kt @@ -11,9 +11,9 @@ import at.hannibal2.skyhanni.events.ConfigLoadEvent import at.hannibal2.skyhanni.events.GuiRenderEvent import at.hannibal2.skyhanni.events.InventoryFullyOpenedEvent import at.hannibal2.skyhanni.events.LorenzChatEvent -import at.hannibal2.skyhanni.events.LorenzTickEvent import at.hannibal2.skyhanni.events.PurseChangeCause import at.hannibal2.skyhanni.events.PurseChangeEvent +import at.hannibal2.skyhanni.events.SecondPassedEvent import at.hannibal2.skyhanni.events.TabListUpdateEvent import at.hannibal2.skyhanni.features.combat.ghostcounter.GhostData.Option import at.hannibal2.skyhanni.features.combat.ghostcounter.GhostData.Option.KILLS @@ -44,7 +44,8 @@ import at.hannibal2.skyhanni.utils.LorenzUtils import at.hannibal2.skyhanni.utils.LorenzUtils.isInIsland import at.hannibal2.skyhanni.utils.NEUInternalName.Companion.asInternalName import at.hannibal2.skyhanni.utils.NumberUtil.addSeparators -import at.hannibal2.skyhanni.utils.NumberUtil.formatNumber +import at.hannibal2.skyhanni.utils.NumberUtil.formatDouble +import at.hannibal2.skyhanni.utils.NumberUtil.formatLong import at.hannibal2.skyhanni.utils.NumberUtil.romanToDecimal import at.hannibal2.skyhanni.utils.NumberUtil.roundToPrecision import at.hannibal2.skyhanni.utils.OSUtils @@ -103,7 +104,7 @@ object GhostCounter { private var skillText = "" private var lastParsedSkillSection = "" private var lastSkillProgressString: String? = null - private var lastXp: String = "0" + private var lastXp: Long = 0 private var gain: Int = 0 private var num: Double = 0.0 private var inMist = false @@ -292,41 +293,42 @@ object GhostCounter { } @SubscribeEvent - fun onTick(event: LorenzTickEvent) { + fun onSecondPassed(event: SecondPassedEvent) { if (!isEnabled()) return - if (event.repeatSeconds(1)) { - skillXPPattern.matchMatcher(skillText) { - val gained = group("gained").formatNumber().toDouble() - val current = group("current") - if (current != lastXp) { - val res = current.formatNumber().toString() - gain = (res.toLong() - lastXp.toLong()).toDouble().roundToInt() - num = (gain.toDouble() / gained) - if (gained in 150.0..450.0 && lastXp != "0" && num >= 0) { - KILLS.add(num) - KILLS.add(num, true) - Option.GHOSTSINCESORROW.add(num) - Option.KILLCOMBO.add(num) - Option.SKILLXPGAINED.add(gained * num.roundToLong()) - Option.SKILLXPGAINED.add(gained * num.roundToLong(), true) - storage?.bestiaryCurrentKill = storage?.bestiaryCurrentKill?.plus(num) ?: num - } - lastXp = res + + skillXPPattern.matchMatcher(skillText) { + val gained = group("gained").formatDouble() + val current = group("current").formatLong() + if (current != lastXp) { + gain = (current - lastXp).toDouble().roundToInt() + num = (gain.toDouble() / gained) + if (gained in 150.0..450.0 && lastXp != 0L && num >= 0) { + KILLS.add(num) + KILLS.add(num, true) + Option.GHOSTSINCESORROW.add(num) + Option.KILLCOMBO.add(num) + Option.SKILLXPGAINED.add(gained * num.roundToLong()) + Option.SKILLXPGAINED.add(gained * num.roundToLong(), true) + storage?.bestiaryCurrentKill = storage?.bestiaryCurrentKill?.plus(num) ?: num } + lastXp = current } - if (notifyCTModule && ProfileStorageData.profileSpecific?.ghostCounter?.ctDataImported != true) { - notifyCTModule = false - if (isUsingCTGhostCounter()) { - clickableChat( - "GhostCounterV3 ChatTriggers module has been detected, do you want to import saved data ? Click here to import data", - "shimportghostcounterdata", - prefixColor = "§6", - ) - } + } + + if (notifyCTModule && ProfileStorageData.profileSpecific?.ghostCounter?.ctDataImported != true) { + notifyCTModule = false + if (isUsingCTGhostCounter()) { + clickableChat( + "GhostCounterV3 ChatTriggers module has been detected, do you want to import saved data ? Click here to import data", + "shimportghostcounterdata", + prefixColor = "§6", + ) } - inMist = LorenzUtils.skyBlockArea == "The Mist" - update() } + + inMist = LorenzUtils.skyBlockArea == "The Mist" + update() + if (event.repeatSeconds(2)) { calculateXP() calculateETA() @@ -436,10 +438,10 @@ object GhostCounter { } killComboExpiredPattern.matchMatcher(event.message) { if (Option.KILLCOMBO.getInt() > Option.MAXKILLCOMBO.getInt()) { - Option.MAXKILLCOMBO.set(group("combo").formatNumber().toDouble()) + Option.MAXKILLCOMBO.set(group("combo").formatDouble()) } if (Option.KILLCOMBO.getInt() > Option.MAXKILLCOMBO.getInt(true)) { - Option.MAXKILLCOMBO.set(group("combo").formatNumber().toDouble(), true) + Option.MAXKILLCOMBO.set(group("combo").formatDouble(), true) } Option.KILLCOMBOCOINS.set(0.0) Option.KILLCOMBO.set(0.0) @@ -490,11 +492,11 @@ object GhostCounter { for (line in ghostStack.getLore()) { val l = line.removeColor().trim() if (l.startsWith("Kills: ")) { - kills = "Kills: (.*)".toRegex().find(l)?.groupValues?.get(1)?.formatNumber()?.toDouble() ?: 0.0 + kills = "Kills: (.*)".toRegex().find(l)?.groupValues?.get(1)?.formatDouble() ?: 0.0 } ghostXPPattern.matchMatcher(line.removeColor().trim()) { - storage?.bestiaryCurrentKill = if (kills > 0) kills else group("current").formatNumber().toDouble() - storage?.bestiaryKillNeeded = group("total").formatNumber().toDouble() + storage?.bestiaryCurrentKill = if (kills > 0) kills else group("current").formatDouble() + storage?.bestiaryKillNeeded = group("total").formatDouble() } } update() diff --git a/src/main/java/at/hannibal2/skyhanni/features/commands/WikiManager.kt b/src/main/java/at/hannibal2/skyhanni/features/commands/WikiManager.kt index a39c59274..bff80b930 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/commands/WikiManager.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/commands/WikiManager.kt @@ -7,7 +7,7 @@ import at.hannibal2.skyhanni.events.MessageSendToServerEvent import at.hannibal2.skyhanni.utils.ChatUtils import at.hannibal2.skyhanni.utils.InventoryUtils import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName -import at.hannibal2.skyhanni.utils.ItemUtils.nameWithEnchantment +import at.hannibal2.skyhanni.utils.ItemUtils.itemName import at.hannibal2.skyhanni.utils.KeyboardManager.isKeyHeld import at.hannibal2.skyhanni.utils.LorenzUtils import at.hannibal2.skyhanni.utils.NEUItems @@ -68,7 +68,7 @@ object WikiManager { private fun wikiTheItem(item: ItemStack, autoOpen: Boolean, useFandom: Boolean = config.useFandom) { val itemDisplayName = - (item.nameWithEnchantment ?: return).replace("§a✔ ", "").replace("§c✖ ", "") + item.itemName.replace("§a✔ ", "").replace("§c✖ ", "") val internalName = item.getInternalName().asString() val wikiUrlSearch = if (internalName != "NONE") internalName else itemDisplayName.removeColor() diff --git a/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonAPI.kt b/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonAPI.kt index 47f742ded..cf893fd0d 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonAPI.kt @@ -16,7 +16,7 @@ import at.hannibal2.skyhanni.utils.CollectionUtils.equalsOneOf import at.hannibal2.skyhanni.utils.ItemUtils.getLore import at.hannibal2.skyhanni.utils.ItemUtils.name import at.hannibal2.skyhanni.utils.LorenzUtils -import at.hannibal2.skyhanni.utils.NumberUtil.formatNumber +import at.hannibal2.skyhanni.utils.NumberUtil.formatInt import at.hannibal2.skyhanni.utils.NumberUtil.romanToDecimalIfNecessary import at.hannibal2.skyhanni.utils.StringUtils.matchFirst import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher @@ -203,7 +203,7 @@ object DungeonAPI { val lore = inventoryItems[4]?.getLore() ?: return val line = lore.find { it.contains("Total Kills:") } ?: return val kills = totalKillsPattern.matchMatcher(line) { - group("kills").formatNumber().toInt() + group("kills").formatInt() } ?: return bossCollections[floor] = kills } 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 7724d4c5d..25b20b08a 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 @@ -12,7 +12,7 @@ import at.hannibal2.skyhanni.utils.LorenzUtils import at.hannibal2.skyhanni.utils.NEUInternalName import at.hannibal2.skyhanni.utils.NumberUtil import at.hannibal2.skyhanni.utils.NumberUtil.addSeparators -import at.hannibal2.skyhanni.utils.NumberUtil.formatNumber +import at.hannibal2.skyhanni.utils.NumberUtil.formatInt import at.hannibal2.skyhanni.utils.SimpleTimeMark import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher import at.hannibal2.skyhanni.utils.StringUtils.matches @@ -117,8 +117,7 @@ object DianaProfitTracker { } chatDugOutCoinsPattern.matchMatcher(message) { BurrowAPI.lastBurrowRelatedChatMessage = SimpleTimeMark.now() - val coins = group("coins").formatNumber().toInt() |
