add number format api

== AT ==
public net.minecraft.network.chat.numbers.FixedFormat value
public net.minecraft.network.chat.numbers.StyledFormat style
This commit is contained in:
David Mayr
2023-12-16 10:40:29 +01:00
parent 380cb52e43
commit 10a15650f1
3 changed files with 101 additions and 0 deletions

View File

@@ -153,6 +153,34 @@ final class CraftObjective extends CraftScoreboardComponent implements Objective
}
// Paper end
// Paper start - add number format
@Override
public io.papermc.paper.scoreboard.numbers.NumberFormat numberFormat() {
this.checkState();
net.minecraft.network.chat.numbers.NumberFormat vanilla = this.objective.numberFormat();
if (vanilla == null) {
return null;
}
return io.papermc.paper.util.PaperScoreboardFormat.asPaper(vanilla);
}
@Override
public void numberFormat(io.papermc.paper.scoreboard.numbers.NumberFormat format) {
this.checkState();
if (format == null) {
this.objective.setNumberFormat(null);
return;
}
this.objective.setNumberFormat(io.papermc.paper.util.PaperScoreboardFormat.asVanilla(format));
}
// Paper end - add number format
@Override
public void unregister() {
CraftScoreboard scoreboard = this.checkState();

View File

@@ -55,6 +55,41 @@ final class CraftScore implements Score {
this.objective.checkState().board.getOrCreatePlayerScore(this.entry, this.objective.getHandle()).set(score);
}
// Paper start - add number format
@Override
public io.papermc.paper.scoreboard.numbers.NumberFormat numberFormat() {
ReadOnlyScoreInfo scoreInfo = this.objective.checkState().board
.getPlayerScoreInfo(this.entry, this.objective.getHandle());
if (scoreInfo == null) {
return null;
}
net.minecraft.network.chat.numbers.NumberFormat vanilla = scoreInfo.numberFormat();
if (vanilla == null) {
return null;
}
return io.papermc.paper.util.PaperScoreboardFormat.asPaper(vanilla);
}
@Override
public void numberFormat(io.papermc.paper.scoreboard.numbers.NumberFormat format) {
final net.minecraft.world.scores.ScoreAccess access = this.objective.checkState()
.board.getOrCreatePlayerScore(this.entry, this.objective.getHandle());
if (format == null) {
access.numberFormatOverride(null);
return;
}
access.numberFormatOverride(io.papermc.paper.util.PaperScoreboardFormat.asVanilla(format));
}
// Paper end - add number format
@Override
public boolean isScoreSet() {
Scoreboard board = this.objective.checkState().board;