aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/features
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarApi.kt9
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarDataGrabber.kt12
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/items/HideNotClickableItems.kt3
3 files changed, 18 insertions, 6 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 5ae100ac2..c2c8bcb18 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarApi.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarApi.kt
@@ -1,7 +1,9 @@
package at.hannibal2.skyhanni.features.bazaar
+import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName
import at.hannibal2.skyhanni.utils.LorenzUtils
import at.hannibal2.skyhanni.utils.StringUtils.removeColor
+import net.minecraft.item.ItemStack
class BazaarApi {
@@ -44,9 +46,10 @@ class BazaarApi {
return null
}
- fun isBazaarItem(name: String): Boolean {
- val bazaarName = getCleanBazaarName(name)
- return bazaarMap.containsKey(bazaarName)
+ fun isBazaarItem(stack: ItemStack): Boolean {
+ val internalName = stack.getInternalName()
+ return bazaarMap.any { it.value.apiName == internalName }
+
}
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarDataGrabber.kt b/src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarDataGrabber.kt
index 01f01015c..642298ba5 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarDataGrabber.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/bazaar/BazaarDataGrabber.kt
@@ -85,7 +85,7 @@ internal class BazaarDataGrabber(private var bazaarMap: MutableMap<String, Bazaa
val products = bazaarData["products"].asJsonObject
for (entry in products.entrySet()) {
- val apiName = entry.key
+ var apiName = entry.key
//TODO use repo
if (apiName == "ENCHANTED_CARROT_ON_A_STICK") continue
@@ -108,6 +108,16 @@ internal class BazaarDataGrabber(private var bazaarMap: MutableMap<String, Bazaa
LorenzUtils.warning("§c[SkyHanni] bazaar item '$apiName' not found! Try restarting your minecraft to fix this.")
continue
}
+
+ //parse bazaar api format into internal name format
+ if (apiName.startsWith("ENCHANTMENT_")) {
+ val split = apiName.split("_")
+ val last = split.last()
+ val dropLast = split.drop(1).dropLast(1)
+ val text = dropLast.joinToString("_") + ";" + last
+ apiName = text
+ }
+
val data = BazaarData(apiName, itemName, sellPrice, buyPrice)
bazaarMap[itemName] = data
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/items/HideNotClickableItems.kt b/src/main/java/at/hannibal2/skyhanni/features/items/HideNotClickableItems.kt
index 549d347eb..2829742dc 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/items/HideNotClickableItems.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/items/HideNotClickableItems.kt
@@ -384,8 +384,7 @@ class HideNotClickableItems {
return true
}
- val displayName = stack.displayName
- if (bazaarInventory != BazaarApi.isBazaarItem(displayName)) {
+ if (bazaarInventory != BazaarApi.isBazaarItem(stack)) {
if (bazaarInventory) hideReason = "This item is not a Bazaar Product!"
if (auctionHouseInventory) hideReason = "Bazaar Products cannot be auctioned!"