aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/util/ScoreboardUtil.kt
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2025-11-17 19:55:02 +0100
committerLinnea Gräf <nea@nea.moe>2025-11-17 19:55:02 +0100
commitc93a04a001b0f66b2724d46b04b6d1ed49a08d07 (patch)
tree5869ca70acc482ef0362f27785c3d3f1cbb9ffae /src/main/kotlin/util/ScoreboardUtil.kt
parentaf9893b59407c69d31ebd2ed513f0396ab4d2dc9 (diff)
downloadFirmament-c93a04a001b0f66b2724d46b04b6d1ed49a08d07.tar.gz
Firmament-c93a04a001b0f66b2724d46b04b6d1ed49a08d07.tar.bz2
Firmament-c93a04a001b0f66b2724d46b04b6d1ed49a08d07.zip
refactor: port to mojmaps
Diffstat (limited to 'src/main/kotlin/util/ScoreboardUtil.kt')
-rw-r--r--src/main/kotlin/util/ScoreboardUtil.kt42
1 files changed, 21 insertions, 21 deletions
diff --git a/src/main/kotlin/util/ScoreboardUtil.kt b/src/main/kotlin/util/ScoreboardUtil.kt
index f5f28b9..d94eb54 100644
--- a/src/main/kotlin/util/ScoreboardUtil.kt
+++ b/src/main/kotlin/util/ScoreboardUtil.kt
@@ -1,18 +1,18 @@
package moe.nea.firmament.util
import java.util.Optional
-import net.minecraft.client.gui.hud.InGameHud
-import net.minecraft.scoreboard.ScoreboardDisplaySlot
-import net.minecraft.scoreboard.Team
-import net.minecraft.text.StringVisitable
-import net.minecraft.text.Style
-import net.minecraft.text.Text
-import net.minecraft.util.Formatting
+import net.minecraft.client.gui.Gui
+import net.minecraft.world.scores.DisplaySlot
+import net.minecraft.world.scores.PlayerTeam
+import net.minecraft.network.chat.FormattedText
+import net.minecraft.network.chat.Style
+import net.minecraft.network.chat.Component
+import net.minecraft.ChatFormatting
import moe.nea.firmament.annotations.Subscribe
import moe.nea.firmament.events.TickEvent
object ScoreboardUtil {
- var scoreboardLines: List<Text> = listOf()
+ var scoreboardLines: List<Component> = listOf()
var simplifiedScoreboardLines: List<String> = listOf()
@Subscribe
@@ -21,26 +21,26 @@ object ScoreboardUtil {
simplifiedScoreboardLines = scoreboardLines.map { it.unformattedString }
}
- private fun getScoreboardLinesUncached(): List<Text> {
- val scoreboard = MC.instance.world?.scoreboard ?: return listOf()
- val activeObjective = scoreboard.getObjectiveForSlot(ScoreboardDisplaySlot.SIDEBAR) ?: return listOf()
- return scoreboard.getScoreboardEntries(activeObjective)
- .filter { !it.hidden() }
- .sortedWith(InGameHud.SCOREBOARD_ENTRY_COMPARATOR)
+ private fun getScoreboardLinesUncached(): List<Component> {
+ val scoreboard = MC.instance.level?.scoreboard ?: return listOf()
+ val activeObjective = scoreboard.getDisplayObjective(DisplaySlot.SIDEBAR) ?: return listOf()
+ return scoreboard.listPlayerScores(activeObjective)
+ .filter { !it.isHidden() }
+ .sortedWith(Gui.SCORE_DISPLAY_ORDER)
.take(15).map {
- val team = scoreboard.getScoreHolderTeam(it.owner)
- val text = it.name()
- Team.decorateName(team, text)
+ val team = scoreboard.getPlayersTeam(it.owner)
+ val text = it.ownerName()
+ PlayerTeam.formatNameForTeam(team, text)
}
}
}
-fun Text.formattedString(): String {
+fun Component.formattedString(): String {
val sb = StringBuilder()
- visit(StringVisitable.StyledVisitor<Unit> { style, string ->
- val c = Formatting.byName(style.color?.name)
+ visit(FormattedText.StyledContentConsumer<Unit> { style, string ->
+ val c = ChatFormatting.getByName(style.color?.serialize())
if (c != null) {
- sb.append("§${c.code}")
+ sb.append("§${c.char}")
}
if (style.isUnderlined) {
sb.append("§n")