From 0662bb696bb5f003a8c0edc14e8d54dac19f78dc Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal00212@users.noreply.github.com> Date: Sat, 29 Jul 2023 20:20:41 +0200 Subject: Created NEUInternalName, fixed collection counter --- .../hannibal2/skyhanni/features/bazaar/BazaarApi.kt | 20 ++++++++++++-------- .../skyhanni/features/bazaar/BazaarData.kt | 1 - .../skyhanni/features/bazaar/BazaarDataHolder.kt | 21 +++++++++++---------- 3 files changed, 23 insertions(+), 19 deletions(-) (limited to 'src/main/java/at/hannibal2/skyhanni/features/bazaar') diff --git a/src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarApi.kt b/src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarApi.kt index 52227e4f7..1d9c20dea 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarApi.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarApi.kt @@ -2,13 +2,10 @@ package at.hannibal2.skyhanni.features.bazaar import at.hannibal2.skyhanni.SkyHanniMod import at.hannibal2.skyhanni.events.* +import at.hannibal2.skyhanni.utils.* import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName import at.hannibal2.skyhanni.utils.ItemUtils.getLore import at.hannibal2.skyhanni.utils.ItemUtils.name -import at.hannibal2.skyhanni.utils.LorenzColor -import at.hannibal2.skyhanni.utils.LorenzUtils -import at.hannibal2.skyhanni.utils.NEUItems -import at.hannibal2.skyhanni.utils.OSUtils import at.hannibal2.skyhanni.utils.RenderUtils.highlight import at.hannibal2.skyhanni.utils.StringUtils.removeColor import net.minecraft.client.gui.inventory.GuiChest @@ -27,14 +24,19 @@ class BazaarApi { fun getBazaarDataByName(name: String): BazaarData? = NEUItems.getInternalNameOrNull(name)?.let { getBazaarDataByInternalName(it) } - fun getBazaarDataByInternalName(internalName: String): BazaarData? { - return if (isBazaarItem(internalName)) { + fun getBazaarDataByInternalName(internalName: String) = + getBazaarDataByInternalName_new(NEUInternalName.from(internalName)) + + fun getBazaarDataByInternalName_new(internalName: NEUInternalName) = if (isBazaarItem(internalName)) { holder.getData(internalName) } else null - } fun isBazaarItem(stack: ItemStack) = isBazaarItem(stack.getInternalName()) + fun isBazaarItem(internalName: NEUInternalName): Boolean { + return NEUItems.manager.auctionManager.getBazaarInfo(internalName.asString()) != null + } + fun isBazaarItem(internalName: String): Boolean { return NEUItems.manager.auctionManager.getBazaarInfo(internalName) != null } @@ -91,7 +93,9 @@ class BazaarApi { @SubscribeEvent fun onChat(event: LorenzChatEvent) { - if ("\\[Bazaar] (Buy Order Setup!|Bought).*$currentSearchedItem.*".toRegex().matches(event.message.removeColor())) { + if ("\\[Bazaar] (Buy Order Setup!|Bought).*$currentSearchedItem.*".toRegex() + .matches(event.message.removeColor()) + ) { currentSearchedItem = "" } } diff --git a/src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarData.kt b/src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarData.kt index e9511d1b1..3562be68a 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarData.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarData.kt @@ -1,7 +1,6 @@ package at.hannibal2.skyhanni.features.bazaar data class BazaarData( - val apiName: String, val displayName: String, val sellPrice: Double, val buyPrice: Double, diff --git a/src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarDataHolder.kt b/src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarDataHolder.kt index 53ae2935e..c6d31cede 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarDataHolder.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarDataHolder.kt @@ -5,6 +5,7 @@ import at.hannibal2.skyhanni.features.rift.everywhere.RiftAPI import at.hannibal2.skyhanni.utils.APIUtil import at.hannibal2.skyhanni.utils.ItemUtils.name import at.hannibal2.skyhanni.utils.LorenzUtils +import at.hannibal2.skyhanni.utils.NEUInternalName import at.hannibal2.skyhanni.utils.NEUItems import at.hannibal2.skyhanni.utils.StringUtils.removeColor import kotlinx.coroutines.launch @@ -13,15 +14,15 @@ import kotlin.concurrent.fixedRateTimer class BazaarDataHolder { companion object { - private val bazaarData = mutableMapOf() - private var npcPrices = mapOf() + private val bazaarData = mutableMapOf() + private var npcPrices = mapOf() } - private fun loadNpcPrices(): MutableMap { - val list = mutableMapOf() + private fun loadNpcPrices(): MutableMap { + val list = mutableMapOf() try { val itemsData = APIUtil.getJSONResponse("https://api.hypixel.net/resources/skyblock/items") - val motesPrice = mutableMapOf() + val motesPrice = mutableMapOf() for (element in itemsData["items"].asJsonArray) { val jsonObject = element.asJsonObject val hypixelId = jsonObject["id"].asString @@ -52,10 +53,10 @@ class BazaarDataHolder { } } - fun getData(internalName: String) = bazaarData[internalName] ?: createNewData(internalName) + fun getData(internalName: NEUInternalName) = bazaarData[internalName] ?: createNewData(internalName) - private fun createNewData(internalName: String): BazaarData? { - val stack = NEUItems.getItemStackOrNull(internalName) + private fun createNewData(internalName: NEUInternalName): BazaarData? { + val stack = NEUItems.getItemStackOrNull(internalName.asString()) if (stack == null) { LorenzUtils.debug("Bazaar data is null: '$internalName'") return null @@ -65,14 +66,14 @@ class BazaarDataHolder { val buyPrice = NEUItems.getPrice(internalName, false) val npcPrice = npcPrices[internalName].let { if (it == null) { - if (!ignoreNoNpcPrice(internalName)) { + if (!ignoreNoNpcPrice(internalName.asString())) { LorenzUtils.debug("NPC price not found for item '$internalName'") } 0.0 } else it } - val data = BazaarData(internalName, displayName, sellPrice, buyPrice, npcPrice) + val data = BazaarData(displayName, sellPrice, buyPrice, npcPrice) bazaarData[internalName] = data return data } -- cgit