aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/dulkirmod/utils
diff options
context:
space:
mode:
authoringlettronald <inglettronald@gmail.com>2023-04-07 18:40:31 -0500
committeringlettronald <inglettronald@gmail.com>2023-04-07 18:40:31 -0500
commite933913ebe88f6b465ee862374bbd26c57906cae (patch)
treeffe446d296da81ce545bb9833e11194fae832985 /src/main/kotlin/dulkirmod/utils
parent08848974d8ea83d692ce1c215fd0d4f30bf72ab5 (diff)
downloadDulkirMod-e933913ebe88f6b465ee862374bbd26c57906cae.tar.gz
DulkirMod-e933913ebe88f6b465ee862374bbd26c57906cae.tar.bz2
DulkirMod-e933913ebe88f6b465ee862374bbd26c57906cae.zip
i don't even remember
Diffstat (limited to 'src/main/kotlin/dulkirmod/utils')
-rw-r--r--src/main/kotlin/dulkirmod/utils/TablistUtils.kt53
1 files changed, 32 insertions, 21 deletions
diff --git a/src/main/kotlin/dulkirmod/utils/TablistUtils.kt b/src/main/kotlin/dulkirmod/utils/TablistUtils.kt
index da07f0b..af4512b 100644
--- a/src/main/kotlin/dulkirmod/utils/TablistUtils.kt
+++ b/src/main/kotlin/dulkirmod/utils/TablistUtils.kt
@@ -15,6 +15,10 @@ object TabListUtils {
var explosivity: Boolean = false
var isInDungeons: Boolean = false
var maxVisitors: Boolean = false
+ var emptyComposter: Boolean = false
+ var gardenMilestone: String = ""
+ var timeTillNextVisitor: String = ""
+ var numVisitors: Int = 0
private val playerInfoOrdering = object : Ordering<NetworkPlayerInfo>() {
override fun compare(p_compare_1_: NetworkPlayerInfo?, p_compare_2_: NetworkPlayerInfo?): Int {
@@ -55,33 +59,40 @@ object TabListUtils {
it.displayName?.unformattedText
}
+
for (line in scoreboardList) {
- if (line.startsWith("Area: "))
- area = line.substring(6)
- else if (line == "Volcano Explosivity:") {
- exploFlag = true
- }
- else if (exploFlag) {
- explosivity = line != " INACTIVE"
- exploFlag = false
- }
- else if (line == " Dungeon Stats") {
- isInDungeons = true
- dungeonFlag = true
+ when {
+ line.startsWith("Area: ") -> area = line.substring(6)
+ line == "Volcano Explosivity:" -> exploFlag = true
+ exploFlag -> {
+ exploFlag = false
+ if (line != " INACTIVE") {
+ explosivity = true
+ }
+ }
+ line == " Dungeon Stats" -> {
+ isInDungeons = true
+ }
+ line == " Time Left: INACTIVE" -> emptyComposter = true
+ line.startsWith(" Milestone") -> gardenMilestone = line.substring(1)
+ line.startsWith(" Next Visitor:") -> {
+ timeTillNextVisitor = line.substring(15)
+ maxVisitors = (timeTillNextVisitor == "Queue Full!")
+ }
+ line.startsWith("Visitors:") -> {
+ numVisitors = line.substring(11, 12).toInt() // TODO: FIX WHEN THEY ADD THE TENTH VISITOR
+ }
}
- // Here is some scuffed code that basically makes sure maxVisitors is assigned appropriately.
- // It's awful and I do not care to fix it lol.
- else if (line == " Next Visitor: Queue Full!")
- maxVisitors = true
- else if (line.startsWith(" Next Visitor:"))
- maxVisitors = false
}
- if (area != "Crimson Isle")
+ if (area != "Crimson Isle") {
explosivity = false
- if (area != "Garden")
+ }
+ if (area != "Garden") {
maxVisitors = false
- if (!dungeonFlag)
+ }
+ if (!isInDungeons) {
isInDungeons = false
+ }
}
} \ No newline at end of file