diff options
| author | hannibal2 <24389977+hannibal002@users.noreply.github.com> | 2024-02-19 13:29:45 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-19 13:29:45 +0100 |
| commit | 7d9a6a101071c75773668e0881b37466506307dd (patch) | |
| tree | 0f46abdd4375d2eeb1a5c8154a2cb72046fb7621 /src/main/java/at/hannibal2/skyhanni/data | |
| parent | 4bb1419b90e424ac824042188f67a371a5c276da (diff) | |
| download | skyhanni-7d9a6a101071c75773668e0881b37466506307dd.tar.gz skyhanni-7d9a6a101071c75773668e0881b37466506307dd.tar.bz2 skyhanni-7d9a6a101071c75773668e0881b37466506307dd.zip | |
Item name rewrite and cache #1016
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
3 files changed, 27 insertions, 14 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/OwnInventoryData.kt b/src/main/java/at/hannibal2/skyhanni/data/OwnInventoryData.kt index 824b895bb..2bc9cf3c3 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/OwnInventoryData.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/OwnInventoryData.kt @@ -11,7 +11,7 @@ import at.hannibal2.skyhanni.utils.CollectionUtils.addOrPut import at.hannibal2.skyhanni.utils.DelayedRun import at.hannibal2.skyhanni.utils.InventoryUtils import at.hannibal2.skyhanni.utils.ItemUtils.getInternalNameOrNull -import at.hannibal2.skyhanni.utils.ItemUtils.getItemName +import at.hannibal2.skyhanni.utils.ItemUtils.itemName import at.hannibal2.skyhanni.utils.LorenzUtils import at.hannibal2.skyhanni.utils.NEUInternalName import at.hannibal2.skyhanni.utils.SimpleTimeMark @@ -109,7 +109,7 @@ class OwnInventoryData { fun onChat(event: LorenzChatEvent) { sackToInventoryChatPattern.matchMatcher(event.message) { val name = group("name") - ignoreItem(500.milliseconds) { it.getItemName().contains(name) } + ignoreItem(500.milliseconds) { it.itemName.contains(name) } } } diff --git a/src/main/java/at/hannibal2/skyhanni/data/PetAPI.kt b/src/main/java/at/hannibal2/skyhanni/data/PetAPI.kt index f422c0b12..d5efd3735 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/PetAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/PetAPI.kt @@ -1,13 +1,23 @@ package at.hannibal2.skyhanni.data +import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher import at.hannibal2.skyhanni.utils.StringUtils.matches import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern object PetAPI { - private val petMenuPattern by RepoPattern.pattern( - "misc.pet.menu.title", + private val patternGroup = RepoPattern.group("misc.pet") + private val petMenuPattern by patternGroup.pattern( + "menu.title", "Pets(?: \\(\\d+/\\d+\\) )?" ) + private val petItemName by patternGroup.pattern( + "item.name", + "§.\\[Lvl (?<level>\\d)] (?<name>.*)" + ) + private val neuRepoPetItemName by patternGroup.pattern( + "item.name.neu.format", + "(§f§f)?§7\\[Lvl 1➡(100|200)] (?<name>.*)" + ) fun isPetMenu(inventoryTitle: String): Boolean = petMenuPattern.matches(inventoryTitle) @@ -19,4 +29,15 @@ object PetAPI { } fun isCurrentPet(petName: String): Boolean = currentPet?.contains(petName) ?: false + + fun getCleanName(nameWithLevel: String): String? { + petItemName.matchMatcher(nameWithLevel) { + return group("name") + } + neuRepoPetItemName.matchMatcher(nameWithLevel) { + return group("name") + } + + return null + } } diff --git a/src/main/java/at/hannibal2/skyhanni/data/SlayerAPI.kt b/src/main/java/at/hannibal2/skyhanni/data/SlayerAPI.kt index 64d1f6206..296e2db65 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/SlayerAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/SlayerAPI.kt @@ -8,10 +8,9 @@ import at.hannibal2.skyhanni.events.SlayerProgressChangeEvent import at.hannibal2.skyhanni.events.SlayerQuestCompleteEvent import at.hannibal2.skyhanni.features.slayer.SlayerType import at.hannibal2.skyhanni.utils.CollectionUtils.nextAfter -import at.hannibal2.skyhanni.utils.ItemUtils.nameWithEnchantment +import at.hannibal2.skyhanni.utils.ItemUtils.itemName import at.hannibal2.skyhanni.utils.LorenzUtils import at.hannibal2.skyhanni.utils.NEUInternalName -import at.hannibal2.skyhanni.utils.NEUItems.getItemStack import at.hannibal2.skyhanni.utils.NEUItems.getNpcPriceOrNull import at.hannibal2.skyhanni.utils.NEUItems.getPrice import at.hannibal2.skyhanni.utils.NumberUtil @@ -46,7 +45,7 @@ object SlayerAPI { } val amountFormat = if (amount != 1) "§7${amount}x §r" else "" - val displayName = getNameWithEnchantmentFor(internalName) + val displayName = internalName.itemName val price = internalName.getPrice() val npcPrice = internalName.getNpcPriceOrNull() ?: 0.0 @@ -61,13 +60,6 @@ object SlayerAPI { return result } - private fun getNameWithEnchantmentFor(internalName: NEUInternalName): String { - if (internalName.asString() == "WISP_POTION") { - return "§fWisp's Ice-Flavored Water" - } - return internalName.getItemStack().nameWithEnchantment ?: error("Could not find name for $internalName") - } - @SubscribeEvent fun onDebugDataCollect(event: DebugDataCollectEvent) { event.title("Slayer") |
