Skip to content

Commit ada9058

Browse files
committed
feat: remote regex definitions
Signed-off-by: J10a1n15 <[email protected]>
1 parent 2f6ea2f commit ada9058

31 files changed

+304
-132
lines changed

src/main/kotlin/me/owdding/customscoreboard/feature/customscoreboard/elements/ElementArea.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
package me.owdding.customscoreboard.feature.customscoreboard.elements
22

33
import me.owdding.customscoreboard.utils.ElementGroup
4+
import me.owdding.customscoreboard.utils.RemoteStrings
45
import me.owdding.customscoreboard.utils.ScoreboardElement
6+
import me.owdding.customscoreboard.utils.StringGroup.Companion.resolve
57
import me.owdding.customscoreboard.utils.TextUtils.trim
68
import net.minecraft.network.chat.Component
79
import tech.thatgravyboat.skyblockapi.api.events.info.ScoreboardUpdateEvent
810
import tech.thatgravyboat.skyblockapi.utils.regex.RegexUtils.anyMatch
9-
import tech.thatgravyboat.skyblockapi.utils.regex.component.ComponentRegex
1011
import tech.thatgravyboat.skyblockapi.utils.regex.component.anyMatch
1112

1213
@ScoreboardElement
@@ -17,10 +18,10 @@ object ElementArea : Element() {
1718

1819
override fun getDisplay() = listOfNotNull(formattedLocation, formattedGardenPlot, formattedVisiting)
1920

20-
21-
private val locationComponentRegex = ComponentRegex("\\s*[⏣ф] .+")
22-
private val gardenPlotComponentRegex = ComponentRegex("\\s*Plot -.+")
23-
private val visitingComponentRegex = ComponentRegex("\\s*✌ \\(\\d+/\\d+\\)")
21+
private val remote = RemoteStrings.resolve()
22+
private val locationComponentRegex by remote.componentRegex("\\s*[⏣ф] .+")
23+
private val gardenPlotComponentRegex by remote.componentRegex("\\s*Plot -.+")
24+
private val visitingComponentRegex by remote.componentRegex("\\s*✌ \\(\\d+/\\d+\\)")
2425

2526
private val gardenPlotRegex = gardenPlotComponentRegex.regex()
2627
private val visitingRegex = visitingComponentRegex.regex()

src/main/kotlin/me/owdding/customscoreboard/feature/customscoreboard/elements/ElementLobby.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ package me.owdding.customscoreboard.feature.customscoreboard.elements
22

33
import me.owdding.customscoreboard.config.categories.LinesConfig
44
import me.owdding.customscoreboard.utils.ElementGroup
5+
import me.owdding.customscoreboard.utils.RemoteStrings
56
import me.owdding.customscoreboard.utils.ScoreboardElement
7+
import me.owdding.customscoreboard.utils.StringGroup.Companion.resolve
68
import tech.thatgravyboat.skyblockapi.api.events.hypixel.ServerChangeEvent
79
import tech.thatgravyboat.skyblockapi.api.events.info.ScoreboardUpdateEvent
810
import tech.thatgravyboat.skyblockapi.utils.regex.RegexUtils.anyFound
@@ -21,7 +23,7 @@ object ElementLobby : Element() {
2123
override val group = ElementGroup.HEADER
2224

2325

24-
private val roomIdRegex = "\\d+/\\d+/\\d+ \\w+ (?<roomId>[\\w,-]+)".toRegex()
26+
private val roomIdRegex by RemoteStrings.resolve().regex("\\d+/\\d+/\\d+ \\w+ (?<roomId>[\\w,-]+)")
2527

2628
override fun onScoreboardUpdate(event: ScoreboardUpdateEvent) {
2729
val found = roomIdRegex.anyFound(event.new, "roomId") { (roomId) ->

src/main/kotlin/me/owdding/customscoreboard/feature/customscoreboard/elements/ElementObjective.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ package me.owdding.customscoreboard.feature.customscoreboard.elements
22

33
import me.owdding.customscoreboard.feature.customscoreboard.ScoreboardLine.Companion.withActions
44
import me.owdding.customscoreboard.utils.CommonRegexes
5+
import me.owdding.customscoreboard.utils.RemoteStrings
56
import me.owdding.customscoreboard.utils.ScoreboardElement
7+
import me.owdding.customscoreboard.utils.StringGroup.Companion.resolve
68
import me.owdding.customscoreboard.utils.TextUtils.isBlank
79
import net.minecraft.network.chat.Component
810
import tech.thatgravyboat.skyblockapi.api.events.info.ScoreboardUpdateEvent
@@ -22,7 +24,7 @@ object ElementObjective : Element() {
2224
override val id = "OBJECTIVE"
2325

2426

25-
private val objectiveTitleRegex = "^(?:Objective|Quest)".toRegex()
27+
private val objectiveTitleRegex by RemoteStrings.resolve().regex("^(?:Objective|Quest)")
2628

2729
private val objectiveLines = mutableListOf<Component>()
2830

src/main/kotlin/me/owdding/customscoreboard/feature/customscoreboard/elements/ElementSlayer.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package me.owdding.customscoreboard.feature.customscoreboard.elements
22

3+
import me.owdding.customscoreboard.utils.RemoteStrings
34
import me.owdding.customscoreboard.utils.ScoreboardElement
5+
import me.owdding.customscoreboard.utils.StringGroup.Companion.resolve
46
import me.owdding.customscoreboard.utils.TextUtils.trim
57
import me.owdding.customscoreboard.utils.Utils.sublistFromFirst
68
import me.owdding.ktmodules.Module
@@ -10,7 +12,6 @@ import tech.thatgravyboat.skyblockapi.api.events.base.predicates.OnlyWidget
1012
import tech.thatgravyboat.skyblockapi.api.events.info.ScoreboardUpdateEvent
1113
import tech.thatgravyboat.skyblockapi.api.events.info.TabWidget
1214
import tech.thatgravyboat.skyblockapi.api.events.info.TabWidgetChangeEvent
13-
import tech.thatgravyboat.skyblockapi.utils.regex.component.ComponentRegex
1415

1516
@Module
1617
@ScoreboardElement
@@ -21,7 +22,7 @@ object ElementSlayer : Element() {
2122
override val id = "SLAYER"
2223

2324

24-
private val slayerQuestRegex = ComponentRegex("Slayer(?::| Quest)")
25+
private val slayerQuestRegex by RemoteStrings.resolve().componentRegex("Slayer(?::| Quest)")
2526

2627
private var formattedLines = emptyList<Component>()
2728

src/main/kotlin/me/owdding/customscoreboard/feature/customscoreboard/elements/ElementSoulflow.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ package me.owdding.customscoreboard.feature.customscoreboard.elements
33
import me.owdding.customscoreboard.feature.customscoreboard.CustomScoreboardRenderer
44
import me.owdding.customscoreboard.feature.customscoreboard.NumberTrackingElement
55
import me.owdding.customscoreboard.utils.NumberUtils.format
6+
import me.owdding.customscoreboard.utils.RemoteStrings
67
import me.owdding.customscoreboard.utils.ScoreboardElement
8+
import me.owdding.customscoreboard.utils.StringGroup.Companion.resolve
79
import me.owdding.customscoreboard.utils.TextUtils.anyMatch
810
import me.owdding.ktmodules.Module
911
import tech.thatgravyboat.skyblockapi.api.events.base.Subscription
@@ -33,7 +35,7 @@ object ElementSoulflow : NumberTrackingElement("§3") {
3335
override val configLineHover = listOf("Requires the Soulflow option enabled in the Profile category in /tablist.", "Will not show if disabled.")
3436

3537
private var soulflowInTablist = false
36-
private val soulflowRegex = " Soulflow: .*".toRegex()
38+
private val soulflowRegex by RemoteStrings.resolve().regex(" Soulflow: .*")
3739

3840
@Subscription
3941
@OnlyWidget(TabWidget.PROFILE)

src/main/kotlin/me/owdding/customscoreboard/feature/customscoreboard/events/EventAnniversary.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package me.owdding.customscoreboard.feature.customscoreboard.events
22

33
import me.owdding.customscoreboard.AutoElement
4+
import me.owdding.customscoreboard.utils.RemoteStrings
5+
import me.owdding.customscoreboard.utils.StringGroup.Companion.resolve
46
import net.minecraft.network.chat.Component
57
import tech.thatgravyboat.skyblockapi.api.events.info.ScoreboardUpdateEvent
6-
import tech.thatgravyboat.skyblockapi.utils.regex.component.ComponentRegex
78

89
@AutoElement
910
object EventAnniversary : Event() {
@@ -14,7 +15,7 @@ object EventAnniversary : Event() {
1415

1516
private var formattedLine: Component? = null
1617

17-
private val restartRegex = ComponentRegex("\\d+th Anniversary [\\d:]+")
18+
private val restartRegex by RemoteStrings.resolve().componentRegex("\\d+th Anniversary [\\d:]+")
1819

1920
override fun onScoreboardUpdate(event: ScoreboardUpdateEvent) {
2021
formattedLine = event.components.find(restartRegex::matches)

src/main/kotlin/me/owdding/customscoreboard/feature/customscoreboard/events/EventBroodmother.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package me.owdding.customscoreboard.feature.customscoreboard.events
22

33
import me.owdding.customscoreboard.AutoElement
4+
import me.owdding.customscoreboard.utils.RemoteStrings
5+
import me.owdding.customscoreboard.utils.StringGroup.Companion.resolve
46
import me.owdding.customscoreboard.utils.TextUtils.trim
57
import me.owdding.ktmodules.Module
68
import net.minecraft.network.chat.Component
@@ -9,7 +11,6 @@ import tech.thatgravyboat.skyblockapi.api.events.base.predicates.OnlyWidget
911
import tech.thatgravyboat.skyblockapi.api.events.info.TabWidget
1012
import tech.thatgravyboat.skyblockapi.api.events.info.TabWidgetChangeEvent
1113
import tech.thatgravyboat.skyblockapi.api.location.SkyBlockIsland
12-
import tech.thatgravyboat.skyblockapi.utils.regex.component.ComponentRegex
1314

1415
@Module
1516
@AutoElement
@@ -23,7 +24,7 @@ object EventBroodmother : Event() {
2324

2425
private var stateString: Component? = null
2526

26-
private val broodmotherRegex = ComponentRegex(" Broodmother: (?<state>.*)")
27+
private val broodmotherRegex by RemoteStrings.resolve().componentRegex(" Broodmother: (?<state>.*)")
2728

2829
@Subscription
2930
@OnlyWidget(TabWidget.AREA)

src/main/kotlin/me/owdding/customscoreboard/feature/customscoreboard/events/EventCarnival.kt

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package me.owdding.customscoreboard.feature.customscoreboard.events
22

33
import me.owdding.customscoreboard.AutoElement
4+
import me.owdding.customscoreboard.utils.RemoteStrings
5+
import me.owdding.customscoreboard.utils.StringGroup.Companion.resolve
46
import me.owdding.customscoreboard.utils.Utils.replaceWithMatches
57
import net.minecraft.network.chat.Component
68
import tech.thatgravyboat.skyblockapi.api.events.info.ScoreboardUpdateEvent
79
import tech.thatgravyboat.skyblockapi.api.location.SkyBlockIsland
8-
import tech.thatgravyboat.skyblockapi.utils.regex.component.ComponentRegex
910

1011
@AutoElement
1112
object EventCarnival : Event() {
@@ -18,15 +19,16 @@ object EventCarnival : Event() {
1819

1920
private val formattedLines = mutableListOf<Component>()
2021

21-
private val timeRegex = ComponentRegex("Carnival [\\d:,.]+")
22-
private val tokensRegex = ComponentRegex("Carnival Tokens: [\\d,.]+")
23-
private val taskRegex = ComponentRegex("Catch a Fish|Fruit Digging|Zombie Shootout")
24-
private val timeLeftRegex = ComponentRegex("Time Left: [\\w:,.\\s]+")
25-
private val fruitsRegex = ComponentRegex("Fruits: \\d+/\\d+")
26-
private val scoreRegex = ComponentRegex("Score: \\d+.*")
27-
private val catchStreakRegex = ComponentRegex("Catch Streak: \\d+")
28-
private val accuracyRegex = ComponentRegex("Accuracy: [\\d.,]+%")
29-
private val killsRegex = ComponentRegex("Kills: \\d+")
22+
private val remote = RemoteStrings.resolve()
23+
private val timeRegex by remote.componentRegex("Carnival [\\d:,.]+")
24+
private val tokensRegex by remote.componentRegex("Carnival Tokens: [\\d,.]+")
25+
private val taskRegex by remote.componentRegex("Catch a Fish|Fruit Digging|Zombie Shootout")
26+
private val timeLeftRegex by remote.componentRegex("Time Left: [\\w:,.\\s]+")
27+
private val fruitsRegex by remote.componentRegex("Fruits: \\d+/\\d+")
28+
private val scoreRegex by remote.componentRegex("Score: \\d+.*")
29+
private val catchStreakRegex by remote.componentRegex("Catch Streak: \\d+")
30+
private val accuracyRegex by remote.componentRegex("Accuracy: [\\d.,]+%")
31+
private val killsRegex by remote.componentRegex("Kills: \\d+")
3032

3133
private val patterns =
3234
listOf(timeRegex, tokensRegex, taskRegex, timeLeftRegex, fruitsRegex, scoreRegex, catchStreakRegex, accuracyRegex, killsRegex)

src/main/kotlin/me/owdding/customscoreboard/feature/customscoreboard/events/EventDamage.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package me.owdding.customscoreboard.feature.customscoreboard.events
22

33
import me.owdding.customscoreboard.AutoElement
4+
import me.owdding.customscoreboard.utils.RemoteStrings
5+
import me.owdding.customscoreboard.utils.StringGroup.Companion.resolve
46
import me.owdding.customscoreboard.utils.Utils.replaceWithMatches
57
import net.minecraft.network.chat.Component
68
import tech.thatgravyboat.skyblockapi.api.events.info.ScoreboardUpdateEvent
79
import tech.thatgravyboat.skyblockapi.api.location.SkyBlockIsland
8-
import tech.thatgravyboat.skyblockapi.utils.regex.component.ComponentRegex
910

1011
@AutoElement
1112
object EventDamage : Event() {
@@ -18,8 +19,9 @@ object EventDamage : Event() {
1819

1920
private val formattedLines = mutableListOf<Component>()
2021

21-
private val hpRegex = ComponentRegex("(?:Protector|Dragon) HP: [\\d,.]* ❤")
22-
private val damageRegex = ComponentRegex("Your Damage: [\\d,.]+")
22+
private val remote = RemoteStrings.resolve()
23+
private val hpRegex by remote.componentRegex("(?:Protector|Dragon) HP: [\\d,.]* ❤")
24+
private val damageRegex by remote.componentRegex("Your Damage: [\\d,.]+")
2325

2426
private val patterns = listOf(hpRegex, damageRegex)
2527

src/main/kotlin/me/owdding/customscoreboard/feature/customscoreboard/events/EventDarkAuction.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
package me.owdding.customscoreboard.feature.customscoreboard.events
22

33
import me.owdding.customscoreboard.AutoElement
4+
import me.owdding.customscoreboard.utils.RemoteStrings
5+
import me.owdding.customscoreboard.utils.StringGroup.Companion.resolve
46
import me.owdding.customscoreboard.utils.Utils.replaceWith
57
import me.owdding.customscoreboard.utils.Utils.sublistFromFirst
68
import net.minecraft.network.chat.Component
79
import tech.thatgravyboat.skyblockapi.api.events.info.ScoreboardUpdateEvent
810
import tech.thatgravyboat.skyblockapi.api.location.SkyBlockIsland
9-
import tech.thatgravyboat.skyblockapi.utils.regex.component.ComponentRegex
1011

1112
@AutoElement
1213
object EventDarkAuction : Event() {
@@ -19,9 +20,10 @@ object EventDarkAuction : Event() {
1920

2021
private val formattedLines = mutableListOf<Component>()
2122

22-
private val startingInRegex = ComponentRegex("Starting in: [\\w:,.\\s]+")
23-
private val timeLeftRegex = ComponentRegex("Time Left: [\\w:,.\\s]+")
24-
private val currentItemRegex = ComponentRegex("Current Item:")
23+
private val remote = RemoteStrings.resolve()
24+
private val startingInRegex by remote.componentRegex("Starting in: [\\w:,.\\s]+")
25+
private val timeLeftRegex by remote.componentRegex("Time Left: [\\w:,.\\s]+")
26+
private val currentItemRegex by remote.componentRegex("Current Item:")
2527

2628

2729
override fun onScoreboardUpdate(event: ScoreboardUpdateEvent) {

0 commit comments

Comments
 (0)