summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/features/bazaar
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-07-29 20:20:41 +0200
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-07-29 20:20:41 +0200
commit0662bb696bb5f003a8c0edc14e8d54dac19f78dc (patch)
tree3e42b1e4c3f70fda25cc312e5792c14084b211b8 /src/main/java/at/hannibal2/skyhanni/features/bazaar
parente10493b7318931938f03ec56f106cf5e27225fa5 (diff)
downloadskyhanni-0662bb696bb5f003a8c0edc14e8d54dac19f78dc.tar.gz
skyhanni-0662bb696bb5f003a8c0edc14e8d54dac19f78dc.tar.bz2
skyhanni-0662bb696bb5f003a8c0edc14e8d54dac19f78dc.zip
Created NEUInternalName, fixed collection counter
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features/bazaar')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarApi.kt20
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarData.kt1
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarDataHolder.kt21
3 files changed, 23 insertions, 19 deletions
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<String, BazaarData>()
- private var npcPrices = mapOf<String, Double>()
+ private val bazaarData = mutableMapOf<NEUInternalName, BazaarData>()
+ private var npcPrices = mapOf<NEUInternalName, Double>()
}
- private fun loadNpcPrices(): MutableMap<String, Double> {
- val list = mutableMapOf<String, Double>()
+ private fun loadNpcPrices(): MutableMap<NEUInternalName, Double> {
+ val list = mutableMapOf<NEUInternalName, Double>()
try {
val itemsData = APIUtil.getJSONResponse("https://api.hypixel.net/resources/skyblock/items")
- val motesPrice = mutableMapOf<String, Double>()
+ val motesPrice = mutableMapOf<NEUInternalName, Double>()
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
}