summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/data
diff options
context:
space:
mode:
authorCalMWolfs <94038482+CalMWolfs@users.noreply.github.com>2024-02-16 21:21:43 +1100
committerGitHub <noreply@github.com>2024-02-16 11:21:43 +0100
commitf91973d60948d449cc45a4add901e6fe43aebd62 (patch)
tree4c8c77ec4a9585a821651a034ebe5bed3308a6af /src/main/java/at/hannibal2/skyhanni/data
parent26fe548fa9a5cfe29b130a0a5585278df3429ee9 (diff)
downloadskyhanni-f91973d60948d449cc45a4add901e6fe43aebd62.tar.gz
skyhanni-f91973d60948d449cc45a4add901e6fe43aebd62.tar.bz2
skyhanni-f91973d60948d449cc45a4add901e6fe43aebd62.zip
Moved many regex patterns in the repo and code cleanup. #871
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/CropAccessoryData.kt8
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt35
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestones.kt14
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestonesCommunityFix.kt10
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/ItemAddManager.kt7
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/ProfileStorageData.kt16
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/PurseAPI.kt16
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/SkillExperience.kt19
8 files changed, 92 insertions, 33 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/CropAccessoryData.kt b/src/main/java/at/hannibal2/skyhanni/data/CropAccessoryData.kt
index 9ea5742a1..b05cc0e56 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/CropAccessoryData.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/CropAccessoryData.kt
@@ -11,6 +11,7 @@ import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName
import at.hannibal2.skyhanni.utils.LorenzUtils
import at.hannibal2.skyhanni.utils.NEUItems
import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher
+import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern
import com.google.gson.JsonElement
import net.minecraft.item.ItemStack
import net.minecraft.nbt.CompressedStreamTools
@@ -21,8 +22,11 @@ import java.util.Base64
class CropAccessoryData {
- // TODO USE SH-REPO
- private val accessoryBagNamePattern = "Accessory Bag \\((?<current>\\d)/(?<total>\\d)\\)".toPattern()
+ private val accessoryBagNamePattern by RepoPattern.pattern(
+ "data.accessory.bagname",
+ "Accessory Bag \\((?<current>\\d)/(?<total>\\d)\\)"
+ )
+
private var loadedAccessoryThisProfile = false
private var ticks = 0
private var accessoryInBag: CropAccessory? = null
diff --git a/src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt b/src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt
index c9cfcc62f..f00b2bb4d 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt
@@ -10,19 +10,37 @@ import at.hannibal2.skyhanni.test.command.ErrorManager
import at.hannibal2.skyhanni.utils.LorenzUtils
import at.hannibal2.skyhanni.utils.StringUtils.cleanPlayerName
import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher
+import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern
import net.minecraft.util.ChatStyle
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import java.util.UUID
object FriendAPI {
-
- // TODO USE SH-REPO
- private val removedFriendPattern =
- ".*\n§r§eYou removed §r(?<name>.*)§e from your friends list!§r§9§m\n.*".toPattern()
- private val addedFriendPattern = "§aYou are now friends with (?<name>.*)".toPattern()
- private val noBestFriendPattern = ".*\n§r(?<name>.*)§e is no longer a best friend!§r§9§m\n.*".toPattern()
- private val bestFriendPattern = ".*\n(?<name>.*)§a is now a best friend!§r§9§m\n.*".toPattern()
- private val readFriendListPattern = "/viewprofile (?<uuid>.*)".toPattern()
+ private val patternGroup = RepoPattern.group("data.friends")
+ private val removedFriendPattern by patternGroup.pattern(
+ "remove",
+ ".*\n§r§eYou removed §r(?<name>.*)§e from your friends list!§r§9§m\n.*"
+ )
+ private val addedFriendPattern by patternGroup.pattern(
+ "add",
+ "§aYou are now friends with (?<name>.*)"
+ )
+ private val noBestFriendPattern by patternGroup.pattern(
+ "removebest",
+ ".*\n§r(?<name>.*)§e is no longer a best friend!§r§9§m\n.*"
+ )
+ private val bestFriendPattern by patternGroup.pattern(
+ "addbest",
+ ".*\n(?<name>.*)§a is now a best friend!§r§9§m\n.*"
+ )
+ private val rawNamePattern by patternGroup.pattern(
+ "rawname",
+ "\\n§eClick to view §.(?<name>.*)§e's profile"
+ )
+ private val readFriendListPattern by patternGroup.pattern(
+ "readfriends",
+ "/viewprofile (?<uuid>.*)"
+ )
private val tempFriends = mutableListOf<Friend>()
@@ -130,7 +148,6 @@ object FriendAPI {
private fun readName(chatStyle: ChatStyle): String? {
for (component in chatStyle.chatHoverEvent.value.siblings) {
val rawName = component.unformattedText
- val rawNamePattern = "\\n§eClick to view §.(?<name>.*)§e's profile".toPattern()
rawNamePattern.matchMatcher(rawName) {
return group("name")
}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestones.kt b/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestones.kt
index dfa275cb7..5f61f0330 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestones.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestones.kt
@@ -9,14 +9,20 @@ import at.hannibal2.skyhanni.features.garden.GardenAPI
import at.hannibal2.skyhanni.utils.ItemUtils.getLore
import at.hannibal2.skyhanni.utils.NumberUtil.formatNumber
import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher
+import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern
import net.minecraft.item.ItemStack
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
object GardenCropMilestones {
-
- // TODO USE SH-REPO
- private val cropPattern = "§7Harvest §f(?<name>.*) §7on .*".toPattern()
- val totalPattern = "§7Total: §a(?<name>.*)".toPattern()
+ private val patternGroup = RepoPattern.group("data.garden.milestone")
+ private val cropPattern by patternGroup.pattern(
+ "crop",
+ "§7Harvest §f(?<name>.*) §7on .*"
+ )
+ val totalPattern by patternGroup.pattern(
+ "total",
+ "§7Total: §a(?<name>.*)"
+ )
fun getCropTypeByLore(itemStack: ItemStack): CropType? {
for (line in itemStack.getLore()) {
diff --git a/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestonesCommunityFix.kt b/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestonesCommunityFix.kt
index 950f226f1..e38e3d075 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestonesCommunityFix.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestonesCommunityFix.kt
@@ -19,13 +19,17 @@ import at.hannibal2.skyhanni.utils.OSUtils
import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher
import at.hannibal2.skyhanni.utils.StringUtils.matches
import at.hannibal2.skyhanni.utils.StringUtils.removeColor
+import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern
import kotlinx.coroutines.launch
import net.minecraft.item.ItemStack
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
object GardenCropMilestonesCommunityFix {
+ private val amountPattern by RepoPattern.pattern(
+ "data.garden.milestonefix.amount",
+ ".*§e(?<having>.*)§6/§e(?<max>.*)"
+ )
- private val pattern = ".*§e(?<having>.*)§6/§e(?<max>.*)".toPattern()
private var showWrongData = false
private var showWhenAllCorrect = false
@@ -92,7 +96,7 @@ object GardenCropMilestonesCommunityFix {
crop
) - GardenCropMilestones.getCropsForTier(realTier, crop)
// debug("guessNextMax: ${guessNextMax.addSeparators()}")
- val nextMax = pattern.matchMatcher(next) {
+ val nextMax = amountPattern.matchMatcher(next) {
group("max").formatNumber()
} ?: return
// debug("nextMax real: ${nextMax.addSeparators()}")
@@ -103,7 +107,7 @@ object GardenCropMilestonesCommunityFix {
val guessTotalMax = GardenCropMilestones.getCropsForTier(46, crop)
// println("guessTotalMax: ${guessTotalMax.addSeparators()}")
- val totalMax = pattern.matchMatcher(total) {
+ val totalMax = amountPattern.matchMatcher(total) {
group("max").formatNumber()
} ?: return
// println("totalMax real: ${totalMax.addSeparators()}")
diff --git a/src/main/java/at/hannibal2/skyhanni/data/ItemAddManager.kt b/src/main/java/at/hannibal2/skyhanni/data/ItemAddManager.kt
index 3d4b8f067..601fafb12 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/ItemAddManager.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/ItemAddManager.kt
@@ -11,6 +11,7 @@ import at.hannibal2.skyhanni.utils.NEUInternalName
import at.hannibal2.skyhanni.utils.NEUInternalName.Companion.asInternalName
import at.hannibal2.skyhanni.utils.SimpleTimeMark
import at.hannibal2.skyhanni.utils.StringUtils.matches
+import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import kotlin.time.Duration.Companion.milliseconds
import kotlin.time.Duration.Companion.seconds
@@ -25,8 +26,10 @@ class ItemAddManager {
private val ARCHFIEND_DICE = "ARCHFIEND_DICE".asInternalName()
private val HIGH_CLASS_ARCHFIEND_DICE = "HIGH_CLASS_ARCHFIEND_DICE".asInternalName()
- private val diceRollChatPattern =
- "§eYour §r§(5|6High Class )Archfiend Dice §r§erolled a §r§.(?<number>.)§r§e! Bonus: §r§.(?<hearts>.*)❤".toPattern()
+ private val diceRollChatPattern by RepoPattern.pattern(
+ "data.itemmanager.diceroll",
+ "§eYour §r§(5|6High Class )Archfiend Dice §r§erolled a §r§.(?<number>.)§r§e! Bonus: §r§.(?<hearts>.*)❤"
+ )
private var inSackInventory = false
private var lastSackInventoryLeave = SimpleTimeMark.farPast()
diff --git a/src/main/java/at/hannibal2/skyhanni/data/ProfileStorageData.kt b/src/main/java/at/hannibal2/skyhanni/data/ProfileStorageData.kt
index e4b54115c..08894d4a3 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/ProfileStorageData.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/ProfileStorageData.kt
@@ -14,6 +14,7 @@ import at.hannibal2.skyhanni.events.TabListUpdateEvent
import at.hannibal2.skyhanni.utils.ChatUtils
import at.hannibal2.skyhanni.utils.LorenzUtils
import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher
+import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern
import net.minecraftforge.fml.common.eventhandler.EventPriority
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
@@ -26,8 +27,16 @@ object ProfileStorageData {
private var nextProfile: String? = null
- // TODO USE SH-REPO
- private val profileSwitchPattern = "§7Switching to profile (?<name>.*)\\.\\.\\.".toPattern()
+ private val patternGroup = RepoPattern.group("data.profile")
+ private val profileSwitchPattern by patternGroup.pattern(
+ "switch",
+ "§7Switching to profile (?<name>.*)\\.\\.\\."
+ )
+ private val profileNamePattern by patternGroup.pattern(
+ "name",
+ "§e§lProfile: §r§a(?<name>.*)"
+ )
+
private var sackPlayers: SackData.PlayerSpecific? = null
var sackProfiles: SackData.ProfileSpecific? = null
@@ -85,8 +94,7 @@ object ProfileStorageData {
val playerSpecific = playerSpecific ?: return
val sackPlayers = sackPlayers ?: return
for (line in event.tabList) {
- val pattern = "§e§lProfile: §r§a(?<name>.*)".toPattern()
- pattern.matchMatcher(line) {
+ profileNamePattern.matchMatcher(line) {
val profileName = group("name").lowercase()
loadProfileSpecific(playerSpecific, sackPlayers, profileName)
nextProfile = null
diff --git a/src/main/java/at/hannibal2/skyhanni/data/PurseAPI.kt b/src/main/java/at/hannibal2/skyhanni/data/PurseAPI.kt
index e5f226945..184d41567 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/PurseAPI.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/PurseAPI.kt
@@ -7,13 +7,21 @@ import at.hannibal2.skyhanni.events.PurseChangeEvent
import at.hannibal2.skyhanni.utils.NumberUtil.formatNumber
import at.hannibal2.skyhanni.utils.NumberUtil.milion
import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher
+import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern
import net.minecraft.client.Minecraft
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
-class PurseAPI {
+object PurseAPI {
+ private val patternGroup = RepoPattern.group("data.purse")
+ private val coinsPattern by patternGroup.pattern(
+ "coins",
+ "(Piggy|Purse): §6(?<coins>[\\d,]+).*"
+ )
+ val piggyPattern by patternGroup.pattern(
+ "piggy",
+ "Piggy: (?<coins>.*)"
+ )
- // TODO USE SH-REPO
- private val pattern = "(Piggy|Purse): §6(?<coins>[\\d,]*).*".toPattern()
private var currentPurse = 0.0
private var inventoryCloseTime = 0L
@@ -26,7 +34,7 @@ class PurseAPI {
fun onTick(event: LorenzTickEvent) {
for (line in ScoreboardData.sidebarLinesFormatted) {
- val newPurse = pattern.matchMatcher(line) {
+ val newPurse = coinsPattern.matchMatcher(line) {
group("coins").formatNumber().toDouble()
} ?: continue
val diff = newPurse - currentPurse
diff --git a/src/main/java/at/hannibal2/skyhanni/data/SkillExperience.kt b/src/main/java/at/hannibal2/skyhanni/data/SkillExperience.kt
index f7915a94c..93fb6e14e 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/SkillExperience.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/SkillExperience.kt
@@ -11,14 +11,23 @@ import at.hannibal2.skyhanni.utils.NumberUtil.formatNumber
import at.hannibal2.skyhanni.utils.NumberUtil.romanToDecimal
import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher
import at.hannibal2.skyhanni.utils.StringUtils.removeColor
+import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
class SkillExperience {
-
- // TODO USE SH-REPO
- private val actionBarPattern = ".*§3\\+.* (?<skill>.*) \\((?<overflow>.*)/(?<needed>.*)\\).*".toPattern()
- private val inventoryPattern = ".* §e(?<number>.*)§6/.*".toPattern()
- private val actionBarLowLevelPattern = ".*§3+(?<add>.+) (?<skill>.*) \\((?<percentage>.*)%\\).*".toPattern()
+ private val patternGroup = RepoPattern.group("data.skill")
+ private val actionBarPattern by patternGroup.pattern(
+ "actionbar",
+ ".*§3\\+.* (?<skill>.*) \\((?<overflow>.*)/(?<needed>.*)\\).*"
+ )
+ private val inventoryPattern by patternGroup.pattern(
+ "inventory",
+ ".* §e(?<number>.*)§6/.*"
+ )
+ private val actionBarLowLevelPattern by patternGroup.pattern(
+ "actionbarlow",
+ ".*§3+(?<add>.+) (?<skill>.*) \\((?<percentage>.*)%\\).*"
+ )
@SubscribeEvent
fun onProfileJoin(event: ProfileJoinEvent) {