summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/data
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal002@users.noreply.github.com>2024-02-19 13:29:45 +0100
committerGitHub <noreply@github.com>2024-02-19 13:29:45 +0100
commit7d9a6a101071c75773668e0881b37466506307dd (patch)
tree0f46abdd4375d2eeb1a5c8154a2cb72046fb7621 /src/main/java/at/hannibal2/skyhanni/data
parent4bb1419b90e424ac824042188f67a371a5c276da (diff)
downloadskyhanni-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')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/OwnInventoryData.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/PetAPI.kt25
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/SlayerAPI.kt12
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")