From bfcf6ed4108490f956576eb61f8099b6c142c5b2 Mon Sep 17 00:00:00 2001 From: J10a1n15 <45315647+j10a1n15@users.noreply.github.com> Date: Fri, 8 Dec 2023 22:05:02 +0100 Subject: [PATCH] Added voting lines --- .../features/misc/customscoreboard/Events.kt | 22 ++++++++++++++++++- .../customscoreboard/InformationGetter.kt | 12 +++++++++- .../customscoreboard/ScoreboardElements.kt | 9 ++++++-- 3 files changed, 39 insertions(+), 4 deletions(-) diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/customscoreboard/Events.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/customscoreboard/Events.kt index 8d53e50960e2..6ba8888837a4 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/customscoreboard/Events.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/customscoreboard/Events.kt @@ -12,6 +12,26 @@ import java.util.function.Supplier private val config get() = SkyHanniMod.feature.gui.customScoreboard enum class Events(private val displayLine: Supplier>, private val showWhen: () -> Boolean) { + VOTING( + { + val list = mutableListOf() + + list += ScoreboardData.sidebarLinesFormatted.firstOrNull { it.startsWith("§6Year ") && it.endsWith(" Votes") } ?: "" + if (ScoreboardData.sidebarLinesFormatted.nextAfter(list[0]) == "§7Waiting for") { + list += "§7Waiting for" + list += "§7your vote..." + } else { + for (i in 1 until 6) { + list += ScoreboardData.sidebarLinesFormatted.nextAfter(list[0], i) ?: "" + } + } + + list + }, + { + ScoreboardData.sidebarLinesFormatted.any { it.startsWith("§6Year ") && it.endsWith(" Votes") } + } + ), SERVER_CLOSE( { listOf(ScoreboardData.sidebarLinesFormatted.firstOrNull { it.startsWith("§cServer closing: ") } @@ -189,7 +209,7 @@ enum class Events(private val displayLine: Supplier>, private val s ScoreboardData.sidebarLinesFormatted.any { it.startsWith("Flight Duration:") } } ), - WINTER( // not tested + WINTER( { val list = mutableListOf() diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/customscoreboard/InformationGetter.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/customscoreboard/InformationGetter.kt index 2948374174ae..ae986df4ce7e 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/customscoreboard/InformationGetter.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/customscoreboard/InformationGetter.kt @@ -146,7 +146,11 @@ class InformationGetter { "Points: ", "Challenge:", *dungeonClassList.toTypedArray(), - "§cLocked" + "§cLocked", + "§fCleanup§7:", + "§6Year ", + "§7Waiting for", + "§7your vote..." ) extraLines = sidebarLines.filter { line -> !knownLines.any { line.trim().contains(it) } } @@ -172,5 +176,11 @@ class InformationGetter { // Remove slayer extraLines = extraLines.filter { sidebarLines.nextAfter("Slayer Quest", 1) != it } extraLines = extraLines.filter { sidebarLines.nextAfter("Slayer Quest", 2) != it } + + // remove voting lines + val votedLine = sidebarLines.firstOrNull { it.startsWith("§6Year ") } ?: "§6Year " + for (i in 1 until 6) { + extraLines = extraLines.filter { sidebarLines.nextAfter(votedLine, i) != it } + } } } diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/customscoreboard/ScoreboardElements.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/customscoreboard/ScoreboardElements.kt index 7ba878b4a696..b7588a84df24 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/customscoreboard/ScoreboardElements.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/customscoreboard/ScoreboardElements.kt @@ -171,7 +171,9 @@ enum class ScoreboardElements( ), ISLAND( { - listOf("§7㋖ §a" + HypixelData.skyBlockIsland.toString().split("_").joinToString(" ") { it.firstLetterUppercase() } to AlignmentEnum.LEFT) + listOf( + "§7㋖ §a" + HypixelData.skyBlockIsland.toString().split("_") + .joinToString(" ") { it.firstLetterUppercase() } to AlignmentEnum.LEFT) }, { true @@ -416,7 +418,10 @@ enum class ScoreboardElements( listOf("§cUndetected Lines:" to AlignmentEnum.LEFT) + extraLines.map { it to AlignmentEnum.LEFT } }, { - extraLines.isNotEmpty() + if (extraLines.isNotEmpty()) { + amountOfExtraLines = 0 + } + false }, "§7Extra lines the mod is not detecting" ),