diff options
10 files changed, 42 insertions, 24 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/config/Storage.java b/src/main/java/at/hannibal2/skyhanni/config/Storage.java index 9f1455605..6f3fd7ddf 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/Storage.java +++ b/src/main/java/at/hannibal2/skyhanni/config/Storage.java @@ -212,7 +212,7 @@ public class Storage { public static class PlotIcon { @Expose - public Map<Integer, String> plotList = new HashMap<>(); + public Map<Integer, NEUInternalName> plotList = new HashMap<>(); } @Expose diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/WildStrawberryDyeNotification.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/WildStrawberryDyeNotification.kt index 4df8fc90a..2f65a9906 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/WildStrawberryDyeNotification.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/WildStrawberryDyeNotification.kt @@ -8,6 +8,7 @@ import at.hannibal2.skyhanni.utils.ItemBlink 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.NEUInternalName.Companion.asInternalName import at.hannibal2.skyhanni.utils.NEUItems import at.hannibal2.skyhanni.utils.SoundUtils import io.github.moulberry.notenoughupdates.util.MinecraftExecutor @@ -17,6 +18,8 @@ import kotlin.time.Duration.Companion.seconds class WildStrawberryDyeNotification { var lastCloseTime = 0L + val item by lazy { "DYE_WILD_STRAWBERRY".asInternalName() } + @SubscribeEvent fun onCloseWindow(event: GuiContainerEvent.CloseWindowEvent) { lastCloseTime = System.currentTimeMillis() @@ -34,7 +37,7 @@ class WildStrawberryDyeNotification { if (diff < 1_000) return@execute val internalName = event.itemStack.getInternalName() - if (internalName.equals("DYE_WILD_STRAWBERRY")) { + if (internalName == item) { val name = event.itemStack.name!! LorenzUtils.sendTitle(name, 5.seconds) LorenzUtils.chat("§e[SkyHanni] You found a $name§e!") diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/inventory/GardenPlotIcon.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/inventory/GardenPlotIcon.kt index 39482850b..11318553c 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/inventory/GardenPlotIcon.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/inventory/GardenPlotIcon.kt @@ -9,7 +9,7 @@ import at.hannibal2.skyhanni.features.garden.GardenAPI import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName import at.hannibal2.skyhanni.utils.ItemUtils.getLore import at.hannibal2.skyhanni.utils.LorenzUtils.chat -import at.hannibal2.skyhanni.utils.NEUItems +import at.hannibal2.skyhanni.utils.NEUItems.getItemStack import io.github.moulberry.notenoughupdates.events.ReplaceItemEvent import io.github.moulberry.notenoughupdates.events.SlotClickEvent import io.github.moulberry.notenoughupdates.util.Utils @@ -47,7 +47,7 @@ object GardenPlotIcon { val plotList = plotList ?: return for ((index, internalName) in plotList) { val old = originalStack[index]!! - val new = NEUItems.getItemStack(internalName) + val new = internalName.getItemStack() cachedStack[index] = Utils.editItemStackInfo(new, old.displayName, true, *old.getLore().toTypedArray()) } } @@ -118,7 +118,7 @@ object GardenPlotIcon { return } val copyStack = copyStack ?: return - plotList[event.slotId] = copyStack.getInternalName().asString() + plotList[event.slotId] = copyStack.getInternalName() cachedStack[event.slotId] = copyStack } } diff --git a/src/main/java/at/hannibal2/skyhanni/features/itemabilities/FireVeilWandParticles.kt b/src/main/java/at/hannibal2/skyhanni/features/itemabilities/FireVeilWandParticles.kt index 28b0d1d1f..499004f64 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/itemabilities/FireVeilWandParticles.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/itemabilities/FireVeilWandParticles.kt @@ -9,6 +9,7 @@ import at.hannibal2.skyhanni.events.ReceiveParticleEvent import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName import at.hannibal2.skyhanni.utils.LorenzUtils import at.hannibal2.skyhanni.utils.LorenzUtils.toChromaColor +import at.hannibal2.skyhanni.utils.NEUInternalName.Companion.asInternalName import at.hannibal2.skyhanni.utils.RenderUtils import net.minecraft.client.Minecraft import net.minecraft.util.EnumParticleTypes @@ -19,6 +20,8 @@ class FireVeilWandParticles { var lastClick = 0L + val item by lazy { "FIRE_VEIL_WAND".asInternalName() } + @SubscribeEvent fun onChatPacket(event: ReceiveParticleEvent) { if (!LorenzUtils.inSkyBlock) return @@ -37,7 +40,7 @@ class FireVeilWandParticles { if (event.clickType == ClickType.RIGHT_CLICK) { val internalName = event.itemInHand?.getInternalName() ?: return - if (internalName.equals("FIRE_VEIL_WAND")) { + if (internalName == item) { lastClick = System.currentTimeMillis() } } diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/RestorePieceOfWizardPortalLore.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/RestorePieceOfWizardPortalLore.kt index af8b3bbbe..fe21f488f 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/RestorePieceOfWizardPortalLore.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/RestorePieceOfWizardPortalLore.kt @@ -3,6 +3,7 @@ package at.hannibal2.skyhanni.features.misc import at.hannibal2.skyhanni.SkyHanniMod import at.hannibal2.skyhanni.events.LorenzToolTipEvent import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName +import at.hannibal2.skyhanni.utils.NEUInternalName.Companion.asInternalName import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getRecipientName import net.minecraftforge.fml.common.eventhandler.SubscribeEvent @@ -10,11 +11,13 @@ class RestorePieceOfWizardPortalLore { private val config get() = SkyHanniMod.feature.misc + private val item by lazy { "WIZARD_PORTAL_MEMENTO".asInternalName() } + @SubscribeEvent fun onTooltip(event: LorenzToolTipEvent) { if (!config.restorePieceOfWizardPortalLore) return val stack = event.itemStack - if (!stack.getInternalName().equals("WIZARD_PORTAL_MEMENTO")) return + if (stack.getInternalName() != item) return val recipient = stack.getRecipientName() ?: return if (!event.toolTip[5].contains(recipient)) { event.toolTip.add(5, "§7Earned by: $recipient") diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/items/EstimatedItemValue.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/items/EstimatedItemValue.kt index 79f555300..6300b0cfd 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/items/EstimatedItemValue.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/items/EstimatedItemValue.kt @@ -38,6 +38,7 @@ import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getAttributes import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getDrillUpgrades import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getDungeonStarCount import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getEnchantments +import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getEnrichment import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getExtraAttributes import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getFarmingForDummiesCount import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getGemstones @@ -49,7 +50,6 @@ import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getPowerScroll import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getReforgeName import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getRune import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getSilexCount -import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getEnrichment import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getTransmissionTunerCount import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.hasArtOfPeace import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.hasArtOfWar @@ -635,6 +635,16 @@ object EstimatedItemValue { return price } + val hasAlwaysScavenger = listOf( + "CRYPT_DREADLORD_SWORD".asInternalName(), + "ZOMBIE_SOLDIER_CUTLASS".asInternalName(), + "CONJURING_SWORD".asInternalName(), + "EARTH_SHARD".asInternalName(), + "ZOMBIE_KNIGHT_SWORD".asInternalName(), + "SILENT_DEATH".asInternalName(), + "ZOMBIE_COMMANDER_WHIP".asInternalName(), + ) + private fun addEnchantments(stack: ItemStack, list: MutableList<String>): Double { val enchantments = stack.getEnchantments() ?: return 0.0 @@ -642,17 +652,8 @@ object EstimatedItemValue { val map = mutableMapOf<String, Double>() val tieredEnchants = listOf("compact", "cultivating", "champion", "expertise", "hecatomb") - val hasAlwaysScavenger = listOf( - "CRYPT_DREADLORD_SWORD", - "ZOMBIE_SOLDIER_CUTLASS", - "CONJURING_SWORD", - "EARTH_SHARD", - "ZOMBIE_KNIGHT_SWORD", - "SILENT_DEATH", - "ZOMBIE_COMMANDER_WHIP", - ) - val internalName = stack.getInternalName().asString() + val internalName = stack.getInternalName() for ((rawName, rawLevel) in enchantments) { // efficiency 1-5 is cheap, 6-10 is handled by silex if (rawName == "efficiency") continue diff --git a/src/main/java/at/hannibal2/skyhanni/features/rift/RiftAPI.kt b/src/main/java/at/hannibal2/skyhanni/features/rift/RiftAPI.kt index d15eeb3be..3a37cc435 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/rift/RiftAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/rift/RiftAPI.kt @@ -6,6 +6,7 @@ import at.hannibal2.skyhanni.data.IslandType import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName import at.hannibal2.skyhanni.utils.LorenzUtils import at.hannibal2.skyhanni.utils.NEUInternalName +import at.hannibal2.skyhanni.utils.NEUInternalName.Companion.asInternalName import net.minecraft.item.ItemStack object RiftAPI { @@ -16,6 +17,8 @@ object RiftAPI { // internal name -> motes var motesPrice = emptyMap<NEUInternalName, Double>() + val farmingTool by lazy { "FARMING_WAND".asInternalName() } + fun ItemStack.motesNpcPrice(): Double? { val baseMotes = motesPrice[getInternalName()] ?: return null val burgerStacks = config.motes.burgerStacks diff --git a/src/main/java/at/hannibal2/skyhanni/features/rift/area/wyldwoods/RiftOdonata.kt b/src/main/java/at/hannibal2/skyhanni/features/rift/area/wyldwoods/RiftOdonata.kt index 61f7b55a6..ded7de44c 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/rift/area/wyldwoods/RiftOdonata.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/rift/area/wyldwoods/RiftOdonata.kt @@ -9,6 +9,7 @@ import at.hannibal2.skyhanni.utils.EntityUtils.hasSkullTexture import at.hannibal2.skyhanni.utils.InventoryUtils import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName import at.hannibal2.skyhanni.utils.LorenzUtils.toChromaColor +import at.hannibal2.skyhanni.utils.NEUInternalName.Companion.asInternalName import net.minecraft.entity.item.EntityArmorStand import net.minecraftforge.fml.common.eventhandler.SubscribeEvent @@ -17,6 +18,7 @@ class RiftOdonata { private var hasBottleInHand = false val odonataSkullTexture = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOWZkODA2ZGVmZGZkZjU5YjFmMjYwOWM4ZWUzNjQ2NjZkZTY2MTI3YTYyMzQxNWI1NDMwYzkzNThjNjAxZWY3YyJ9fX0=" + private val emptyBottle by lazy { "EMPTY_ODONATA_BOTTLE".asInternalName() } @SubscribeEvent fun onTick(event: LorenzTickEvent) { @@ -31,7 +33,7 @@ class RiftOdonata { } private fun checkHand() { - hasBottleInHand = InventoryUtils.getItemInHand()?.getInternalName()?.equals("EMPTY_ODONATA_BOTTLE") ?: false + hasBottleInHand = InventoryUtils.getItemInHand()?.getInternalName() == emptyBottle } private fun findOdonatas() { diff --git a/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/motes/ShowMotesNpcSellPrice.kt b/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/motes/ShowMotesNpcSellPrice.kt index 06ec9cd97..fe7cb2a73 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/motes/ShowMotesNpcSellPrice.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/motes/ShowMotesNpcSellPrice.kt @@ -14,7 +14,8 @@ import at.hannibal2.skyhanni.utils.LorenzColor import at.hannibal2.skyhanni.utils.LorenzUtils.addAsSingletonList import at.hannibal2.skyhanni.utils.LorenzUtils.addSelector import at.hannibal2.skyhanni.utils.LorenzUtils.chat -import at.hannibal2.skyhanni.utils.NEUItems +import at.hannibal2.skyhanni.utils.NEUInternalName +import at.hannibal2.skyhanni.utils.NEUItems.getItemStack import at.hannibal2.skyhanni.utils.NumberUtil import at.hannibal2.skyhanni.utils.NumberUtil.addSeparators import at.hannibal2.skyhanni.utils.RenderUtils.highlight @@ -29,7 +30,7 @@ class ShowMotesNpcSellPrice { private val config get() = RiftAPI.config.motes private var display = emptyList<List<Any>>() private val pattern = ".*(?:§\\w)+You have (?:§\\w)+(?<amount>\\d) Grubber Stacks.*".toPattern() - private val itemMap = mutableMapOf<String, Pair<MutableList<Int>, Double>>() + private val itemMap = mutableMapOf<NEUInternalName, Pair<MutableList<Int>, Double>>() private var inInventory = false private val slotList = mutableListOf<Int>() @@ -108,7 +109,7 @@ class ShowMotesNpcSellPrice { itemMap.clear() for ((index, stack) in stacks) { val itemValue = stack.motesNpcPrice() ?: continue - val internalName = stack.getInternalName().asString() + val internalName = stack.getInternalName() if (itemMap.contains(internalName)) { val (oldIndex, oldValue) = itemMap[internalName] ?: return oldIndex.add(index) @@ -143,7 +144,7 @@ class ShowMotesNpcSellPrice { newDisplay.add(buildList { val (index, value) = pair add(" §7- ") - val stack = NEUItems.getItemStack(internalName) + val stack = internalName.getItemStack() add(stack) val price = value.formatPrice() val valuePer = stack.motesNpcPrice() ?: continue diff --git a/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerItemsOnGround.kt b/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerItemsOnGround.kt index c3d5d9545..0c80973c4 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerItemsOnGround.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerItemsOnGround.kt @@ -9,6 +9,7 @@ import at.hannibal2.skyhanni.utils.ItemUtils.name import at.hannibal2.skyhanni.utils.LocationUtils import at.hannibal2.skyhanni.utils.LorenzUtils import at.hannibal2.skyhanni.utils.LorenzVec +import at.hannibal2.skyhanni.utils.NEUInternalName import at.hannibal2.skyhanni.utils.RenderUtils.drawString import at.hannibal2.skyhanni.utils.RenderUtils.exactLocation import com.google.common.cache.CacheBuilder @@ -40,7 +41,8 @@ class SlayerItemsOnGround { if (SlayerAPI.ignoreSlayerDrop(name)) continue // happens in spiders den sometimes if (itemStack.item == Items.spawn_egg) continue - if (itemStack.getInternalName().equals("")) continue + if (itemStack.getInternalName().equals("")) continue // TODO remove, should never happen + if (itemStack.getInternalName() == NEUInternalName.NONE) continue val (itemName, price) = SlayerAPI.getItemNameAndPrice(itemStack.getInternalName(), itemStack.stackSize) if (config.minimumPrice > price) continue |