diff options
| author | Linnea Gräf <nea@nea.moe> | 2025-11-17 19:55:02 +0100 |
|---|---|---|
| committer | Linnea Gräf <nea@nea.moe> | 2025-11-17 19:55:02 +0100 |
| commit | c93a04a001b0f66b2724d46b04b6d1ed49a08d07 (patch) | |
| tree | 5869ca70acc482ef0362f27785c3d3f1cbb9ffae /src/main/kotlin/util/ScoreboardUtil.kt | |
| parent | af9893b59407c69d31ebd2ed513f0396ab4d2dc9 (diff) | |
| download | Firmament-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.kt | 42 |
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") |
