diff options
9 files changed, 36 insertions, 42 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenNextPlotPrice.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenNextPlotPrice.kt index 0612faaf7..096683798 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenNextPlotPrice.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenNextPlotPrice.kt @@ -4,7 +4,6 @@ import at.hannibal2.skyhanni.SkyHanniMod import at.hannibal2.skyhanni.data.IslandType import at.hannibal2.skyhanni.utils.* import at.hannibal2.skyhanni.utils.ItemUtils.name -import io.github.moulberry.notenoughupdates.NotEnoughUpdates import net.minecraftforge.event.entity.player.ItemTooltipEvent import net.minecraftforge.fml.common.eventhandler.SubscribeEvent @@ -34,9 +33,7 @@ class GardenNextPlotPrice { if (next) { val (itemName, amount) = ItemUtils.readItemAmount(line) if (itemName != null) { - val internalName = NEUItems.getInternalNameByName(itemName) - val auctionManager = NotEnoughUpdates.INSTANCE.manager.auctionManager - val lowestBin = auctionManager.getBazaarOrBin(internalName, false) + val lowestBin = NEUItems.getPrice(NEUItems.getInternalName(itemName)) val price = lowestBin * amount val format = NumberUtil.format(price) list[i] = list[i] + " §f(§6$format§f)" diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenVisitorFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenVisitorFeatures.kt index b20c699cd..3f3784951 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenVisitorFeatures.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenVisitorFeatures.kt @@ -10,7 +10,6 @@ import at.hannibal2.skyhanni.utils.ItemUtils.getLore import at.hannibal2.skyhanni.utils.ItemUtils.name import at.hannibal2.skyhanni.utils.RenderUtils.renderStrings import at.hannibal2.skyhanni.utils.StringUtils.removeColor -import io.github.moulberry.notenoughupdates.NotEnoughUpdates import net.minecraft.client.Minecraft import net.minecraft.entity.EntityLivingBase import net.minecraft.network.play.client.C02PacketUseEntity @@ -126,9 +125,7 @@ class GardenVisitorFeatures { if (i > 1) { val (itemName, amount) = ItemUtils.readItemAmount(line) if (itemName != null) { - val internalName = NEUItems.getInternalNameByName(itemName) - val auctionManager = NotEnoughUpdates.INSTANCE.manager.auctionManager - val lowestBin = auctionManager.getBazaarOrBin(internalName, false) + val lowestBin = NEUItems.getPrice(NEUItems.getInternalName(itemName)) val price = lowestBin * amount totalPrice += price val format = NumberUtil.format(price) diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/SkyMartBestProfit.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/SkyMartBestProfit.kt index 83d46e1ff..2623b63a3 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/SkyMartBestProfit.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/SkyMartBestProfit.kt @@ -9,10 +9,10 @@ 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.LorenzUtils.sortedDesc +import at.hannibal2.skyhanni.utils.NEUItems import at.hannibal2.skyhanni.utils.NumberUtil import at.hannibal2.skyhanni.utils.RenderUtils.renderStrings import at.hannibal2.skyhanni.utils.StringUtils.removeColor -import io.github.moulberry.notenoughupdates.NotEnoughUpdates import net.minecraft.client.Minecraft import net.minecraftforge.client.event.GuiScreenEvent import net.minecraftforge.fml.common.eventhandler.SubscribeEvent @@ -33,14 +33,13 @@ class SkyMartBestProfit { val priceMap = mutableMapOf<Pair<String, String>, Double>() - val auctionManager = NotEnoughUpdates.INSTANCE.manager.auctionManager for (stack in inventory.items.values) { for (line in stack.getLore()) { val matcher = pattern.matcher(line) if (!matcher.matches()) continue val internalName = stack.getInternalName() - val lowestBin = auctionManager.getBazaarOrBin(internalName, false) + val lowestBin = NEUItems.getPrice(internalName) if (lowestBin == -1.0) continue val amount = matcher.group(1).replace(",", "").toInt() diff --git a/src/main/java/at/hannibal2/skyhanni/features/minion/MinionCraftHelper.kt b/src/main/java/at/hannibal2/skyhanni/features/minion/MinionCraftHelper.kt index 898c7f34c..742a665f9 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/minion/MinionCraftHelper.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/minion/MinionCraftHelper.kt @@ -1,12 +1,13 @@ package at.hannibal2.skyhanni.features.minion import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName import at.hannibal2.skyhanni.utils.ItemUtils.name import at.hannibal2.skyhanni.utils.LorenzUtils +import at.hannibal2.skyhanni.utils.NEUItems import at.hannibal2.skyhanni.utils.NumberUtil.romanToDecimal import at.hannibal2.skyhanni.utils.RenderUtils.renderStrings import at.hannibal2.skyhanni.utils.StringUtils.removeColor -import io.github.moulberry.notenoughupdates.NotEnoughUpdates import io.github.moulberry.notenoughupdates.recipes.CraftingRecipe import io.github.moulberry.notenoughupdates.recipes.NeuRecipe import net.minecraft.client.Minecraft @@ -49,9 +50,7 @@ class MinionCraftHelper { for (item in mainInventory) { val name = item?.name?.removeColor() ?: continue - val rawId = NotEnoughUpdates.INSTANCE.manager.createItemResolutionQuery() - .withItemStack(item) - .resolveInternalName() ?: continue + val rawId = item.getInternalName() if (name.contains(" Minion ")) { minions[name] = rawId } else { @@ -79,7 +78,7 @@ class MinionCraftHelper { ) { val nextNumber = minionNumber + 1 display.add("$minionName Minion $minionNumber -> $nextNumber") - val recipes: List<NeuRecipe> = NotEnoughUpdates.INSTANCE.manager.getAvailableUsagesFor(minionId) + val recipes: List<NeuRecipe> = NEUItems.manager.getAvailableUsagesFor(minionId) for (recipe in recipes) { if (recipe !is CraftingRecipe) continue val output = recipe.output @@ -100,9 +99,7 @@ class MinionCraftHelper { val needAmount = need * multiplier val have = otherItems.getOrDefault(itemId, 0) val percentage = have.toDouble() / needAmount - val itemName = NotEnoughUpdates.INSTANCE.manager.createItemResolutionQuery() - .withKnownInternalName(rawId) - .resolveToItemStack()?.name ?: "§cName??§f" + val itemName = NEUItems.getItemStack(rawId).name ?: "§cName??§f" if (percentage >= 1) { display.add(" $itemName§8: §aDONE") display.add(" ") diff --git a/src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/dailykuudra/DailyKuudraBossHelper.kt b/src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/dailykuudra/DailyKuudraBossHelper.kt index e5754e1a7..f93a57551 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/dailykuudra/DailyKuudraBossHelper.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/dailykuudra/DailyKuudraBossHelper.kt @@ -79,7 +79,7 @@ class DailyKuudraBossHelper(private val reputationHelper: CrimsonIsleReputationH } else { val lineList = mutableListOf<Any>() lineList.add(" ") - lineList.add(NEUItems.readItemFromRepo(displayItem)) + lineList.add(NEUItems.getItemStack(displayItem)) lineList.add("$displayName: $result") display.add(lineList) } diff --git a/src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/dailyquest/DailyQuestHelper.kt b/src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/dailyquest/DailyQuestHelper.kt index 2d7092b1c..abac83c25 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/dailyquest/DailyQuestHelper.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/dailyquest/DailyQuestHelper.kt @@ -271,7 +271,7 @@ class DailyQuestHelper(val reputationHelper: CrimsonIsleReputationHelper) { result.add(" $stateText$type: §f$displayName$multipleText$sacksText") } else { result.add(" $stateText$type: ") - result.add(NEUItems.readItemFromRepo(item)) + result.add(NEUItems.getItemStack(item)) result.add("§f$displayName$multipleText$sacksText") } return result diff --git a/src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/miniboss/DailyMiniBossHelper.kt b/src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/miniboss/DailyMiniBossHelper.kt index 24aeefdf1..f52d038ab 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/miniboss/DailyMiniBossHelper.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/miniboss/DailyMiniBossHelper.kt @@ -87,7 +87,7 @@ class DailyMiniBossHelper(private val reputationHelper: CrimsonIsleReputationHel } else { val lineList = mutableListOf<Any>() lineList.add(" ") - lineList.add(NEUItems.readItemFromRepo(displayItem)) + lineList.add(NEUItems.getItemStack(displayItem)) lineList.add("$displayName: $result") display.add(lineList) } diff --git a/src/main/java/at/hannibal2/skyhanni/utils/ItemUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/ItemUtils.kt index 714adcec4..62546ee81 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/ItemUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/ItemUtils.kt @@ -4,8 +4,6 @@ import at.hannibal2.skyhanni.utils.StringUtils.matchRegex import at.hannibal2.skyhanni.utils.StringUtils.removeColor import com.google.gson.GsonBuilder import com.google.gson.JsonObject -import io.github.moulberry.notenoughupdates.NotEnoughUpdates -import io.github.moulberry.notenoughupdates.util.ItemResolutionQuery import net.minecraft.client.Minecraft import net.minecraft.init.Items import net.minecraft.item.ItemStack @@ -115,12 +113,7 @@ object ItemUtils { return false } - fun ItemStack.getInternalName(): String { - return ItemResolutionQuery(NotEnoughUpdates.INSTANCE.manager) - .withCurrentGuiContext() - .withItemStack(this) - .resolveInternalName() ?: "" - } + fun ItemStack.getInternalName() = NEUItems.getInternalName(this) fun ItemStack.getSkullTexture(): String? { if (item != Items.skull) return null diff --git a/src/main/java/at/hannibal2/skyhanni/utils/NEUItems.kt b/src/main/java/at/hannibal2/skyhanni/utils/NEUItems.kt index ecbcc9c93..c826ac1f6 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/NEUItems.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/NEUItems.kt @@ -1,5 +1,6 @@ package at.hannibal2.skyhanni.utils +import io.github.moulberry.notenoughupdates.NEUManager import io.github.moulberry.notenoughupdates.NotEnoughUpdates import io.github.moulberry.notenoughupdates.util.ItemResolutionQuery import io.github.moulberry.notenoughupdates.util.Utils @@ -8,24 +9,34 @@ import net.minecraft.init.Items import net.minecraft.item.ItemStack object NEUItems { - + val manager: NEUManager get() = NotEnoughUpdates.INSTANCE.manager private val itemCache = mutableMapOf<String, ItemStack>() - fun getInternalNameByName(rawName: String): String? { - return ItemResolutionQuery.findInternalNameByDisplayName(rawName, false) + fun getInternalName(itemName: String): String { + return ItemResolutionQuery.findInternalNameByDisplayName(itemName, false) + } + + fun getInternalName(itemStack: ItemStack): String { + return ItemResolutionQuery(manager) + .withCurrentGuiContext() + .withItemStack(itemStack) + .resolveInternalName() ?: "" } - fun readItemFromRepo(internalName: String): ItemStack { + fun getPrice(internalName: String, useSellingPrice: Boolean = false): Double { + return manager.auctionManager.getBazaarOrBin(internalName, useSellingPrice) + } + + fun getItemStack(internalName: String): ItemStack { if (itemCache.contains(internalName)) { - return itemCache[internalName]!! - } - val itemStack = NotEnoughUpdates.INSTANCE.manager.jsonToStack( - NotEnoughUpdates.INSTANCE.manager.itemInformation[internalName] - ) - if (itemStack != null) { - itemCache[internalName] = itemStack + return itemCache[internalName]!!.copy() } - return itemStack + + val itemStack = ItemResolutionQuery(manager) + .withKnownInternalName(internalName) + .resolveToItemStack()!! + itemCache[internalName] = itemStack + return itemStack.copy() } fun ItemStack.renderOnScreen(x: Float, y: Float) { |