aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/ScoreboardData.kt10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/ScoreboardData.kt b/src/main/java/at/hannibal2/skyhanni/data/ScoreboardData.kt
index 0ade6a946..a403db112 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/ScoreboardData.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/ScoreboardData.kt
@@ -35,8 +35,14 @@ object ScoreboardData {
val lastColor = start.lastColorCode() ?: ""
- if (end.startsWith(lastColor)) {
- end = end.removePrefix(lastColor)
+ // Determine the longest prefix of "end" that matches any suffix of "lastColor"
+ val colorSuffixes = generateSequence(lastColor) { it.dropLast(2) }
+ .takeWhile { it.isNotEmpty() }
+ .toList()
+
+ val matchingPrefix = colorSuffixes.find { end.startsWith(it) } ?: ""
+ if (matchingPrefix.isNotEmpty()) {
+ end = end.removePrefix(matchingPrefix)
}
add(start + end)