Skip to content

Commit

Permalink
Moving pet menu check into PetAPI
Browse files Browse the repository at this point in the history
  • Loading branch information
hannibal002 committed Feb 5, 2024
1 parent 95029ee commit 03ce43d
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 7 deletions.
2 changes: 2 additions & 0 deletions src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import at.hannibal2.skyhanni.data.MinecraftData
import at.hannibal2.skyhanni.data.OtherInventoryData
import at.hannibal2.skyhanni.data.OwnInventoryData
import at.hannibal2.skyhanni.data.PartyAPI
import at.hannibal2.skyhanni.data.PetAPI
import at.hannibal2.skyhanni.data.ProfileStorageData
import at.hannibal2.skyhanni.data.PurseAPI
import at.hannibal2.skyhanni.data.RenderData
Expand Down Expand Up @@ -441,6 +442,7 @@ class SkyHanniMod {
loadModule(GardenBestCropTime())
loadModule(TrackerManager)
loadModule(UtilsPatterns)
loadModule(PetAPI)

// APIs
loadModule(BazaarApi())
Expand Down
9 changes: 9 additions & 0 deletions src/main/java/at/hannibal2/skyhanni/data/PetAPI.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
package at.hannibal2.skyhanni.data

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",
"Pets(?: \\(\\d+/\\d+\\) )?"
)

fun isPetMenu(inventoryTitle: String): Boolean = petMenuPattern.matches(inventoryTitle)

// Contains color code + name and for older SkyHanni users maybe also the pet level
var currentPet: String?
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package at.hannibal2.skyhanni.features.garden.fortuneguide

import at.hannibal2.skyhanni.config.Storage
import at.hannibal2.skyhanni.data.PetAPI
import at.hannibal2.skyhanni.data.ProfileStorageData
import at.hannibal2.skyhanni.events.GardenToolChangeEvent
import at.hannibal2.skyhanni.events.InventoryFullyOpenedEvent
Expand Down Expand Up @@ -49,10 +50,6 @@ class CaptureFarmingGear {
"uniquevisitors.tierprogress",
".* §e(?<having>.*)§6/(?<total>.*)"
)
private val petMenuPattern by patternGroup.pattern(
"petsmenu",
"Pets(?: \\(\\d+/\\d+\\) )?"
)

companion object {
private val strengthPattern = " Strength: §r§c❁(?<strength>.*)".toPattern()
Expand Down Expand Up @@ -131,7 +128,7 @@ class CaptureFarmingGear {
val farmingItems = farmingItems ?: return
val outdatedItems = outdatedItems ?: return
val items = event.inventoryItems
petMenuPattern.matchMatcher(event.inventoryName) {
if (PetAPI.isPetMenu(event.inventoryName)) {
pets(farmingItems, items, outdatedItems)
return
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ class CurrentPetDisplay {
private val config get() = SkyHanniMod.feature.misc.pets

// TODO USE SH-REPO
private val inventoryNamePattern = "Pets( \\(\\d+/\\d+\\) )?".toPattern()
private val inventorySelectedPetPattern = "§7§7Selected pet: (?<pet>.*)".toPattern()
private val chatSpawnPattern = "§aYou summoned your §r(?<pet>.*)§r§a!".toPattern()
private val chatDespawnPattern = "§aYou despawned your §r.*§r§a!".toPattern()
Expand Down Expand Up @@ -50,7 +49,7 @@ class CurrentPetDisplay {

@SubscribeEvent
fun onInventoryOpen(event: InventoryFullyOpenedEvent) {
if (!inventoryNamePattern.matches(event.inventoryName)) return
if (!PetAPI.isPetMenu(event.inventoryName)) return

val lore = event.inventoryItems[4]?.getLore() ?: return
for (line in lore) {
Expand Down

0 comments on commit 03ce43d

Please sign in to comment.