diff options
| author | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-04-28 20:43:18 +0200 |
|---|---|---|
| committer | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-04-28 20:43:29 +0200 |
| commit | bd6a0bb93ed6c0499cc3c5e044b7554481825bb5 (patch) | |
| tree | be2eea214952108ae8acd658f4646403129a3e28 /src/main/java/at/hannibal2/skyhanni/data | |
| parent | 9df04ac5aaa5e9897324af306dc73b8b1e67f600 (diff) | |
| download | SkyHanni-bd6a0bb93ed6c0499cc3c5e044b7554481825bb5.tar.gz SkyHanni-bd6a0bb93ed6c0499cc3c5e044b7554481825bb5.tar.bz2 SkyHanni-bd6a0bb93ed6c0499cc3c5e044b7554481825bb5.zip | |
REGEX
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestones.kt | 17 | ||||
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/data/SkillExperience.kt | 28 |
2 files changed, 21 insertions, 24 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestones.kt b/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestones.kt index f4c2802f2..d07172609 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestones.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestones.kt @@ -5,12 +5,13 @@ import at.hannibal2.skyhanni.events.CropMilestoneUpdateEvent import at.hannibal2.skyhanni.events.InventoryOpenEvent import at.hannibal2.skyhanni.features.garden.CropType import at.hannibal2.skyhanni.utils.ItemUtils.getLore +import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher import net.minecraftforge.event.world.WorldEvent import net.minecraftforge.fml.common.eventhandler.SubscribeEvent class GardenCropMilestones { - private val cropPattern = "§7Harvest §f(.*) §7on .*".toPattern() - private val totalPattern = "§7Total: §a(.*)".toPattern() + private val cropPattern = "§7Harvest §f(?<name>.*) §7on .*".toPattern() + private val totalPattern = "§7Total: §a(?<name>.*)".toPattern() // Add when api support is there // @SubscribeEvent @@ -41,14 +42,12 @@ class GardenCropMilestones { for ((_, stack) in event.inventoryItems) { var crop: CropType? = null for (line in stack.getLore()) { - var matcher = cropPattern.matcher(line) - if (matcher.matches()) { - val name = matcher.group(1) - crop = CropType.getByNameOrNull(name) ?: continue + cropPattern.matchMatcher(line) { + val name = group("name") + crop = CropType.getByNameOrNull(name) } - matcher = totalPattern.matcher(line) - if (matcher.matches()) { - val amount = matcher.group(1).replace(",", "").toLong() + totalPattern.matchMatcher(line) { + val amount = group("name").replace(",", "").toLong() crop?.setCounter(amount) } } diff --git a/src/main/java/at/hannibal2/skyhanni/data/SkillExperience.kt b/src/main/java/at/hannibal2/skyhanni/data/SkillExperience.kt index c6d540ecb..11435ae96 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/SkillExperience.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/SkillExperience.kt @@ -9,13 +9,13 @@ import at.hannibal2.skyhanni.utils.ItemUtils.name import at.hannibal2.skyhanni.utils.LorenzUtils 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 net.minecraftforge.fml.common.eventhandler.SubscribeEvent class SkillExperience { - - private val actionBarPattern = "(?:.*)§3\\+(?:.*) (.*) \\((.*)\\/(.*)\\)(?:.*)".toPattern() - private val inventoryPattern = "(?:.*) §e(.*)§6\\/(?:.*)".toPattern() + private val actionBarPattern = "(?:.*)§3\\+(?:.*) (?<skill>.*) \\((?<overflow>.*)\\/(?<needed>.*)\\)(?:.*)".toPattern() + private val inventoryPattern = "(?:.*) §e(?<number>.*)§6\\/(?:.*)".toPattern() @SubscribeEvent fun onProfileDataLoad(event: ProfileApiDataLoadedEvent) { @@ -38,15 +38,14 @@ class SkillExperience { fun onActionBar(event: LorenzActionBarEvent) { if (!LorenzUtils.inSkyBlock) return - val matcher = actionBarPattern.matcher(event.message) - if (!matcher.matches()) return - - val skill = matcher.group(1).lowercase() - val overflow = matcher.group(2).formatNumber() - val neededForNextLevel = matcher.group(3).formatNumber() - val nextLevel = getLevelForExpExactly(neededForNextLevel) - val baseExp = getExpForLevel(nextLevel - 1) - skillExp[skill] = baseExp + overflow + actionBarPattern.matchMatcher(event.message) { + val skill = group("skill").lowercase() + val overflow = group("overflow").formatNumber() + val neededForNextLevel = group("needed").formatNumber() + val nextLevel = getLevelForExpExactly(neededForNextLevel) + val baseExp = getExpForLevel(nextLevel - 1) + skillExp[skill] = baseExp + overflow + } } @SubscribeEvent @@ -70,9 +69,8 @@ class SkillExperience { val skillName = split[0].lowercase() val level = split[1].romanToDecimal() val baseExp = getExpForLevel(level) - val matcher = inventoryPattern.matcher(line) - if (matcher.matches()) { - val rawNumber = matcher.group(1) + inventoryPattern.matchMatcher(line) { + val rawNumber = group("number") val overflow = rawNumber.formatNumber() val experience = baseExp + overflow skillExp[skillName] = experience |
