aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker
diff options
context:
space:
mode:
authorLifeIsAParadox <LifeIsAParadox@users.noreply.github.com>2022-01-31 17:41:46 +0100
committerLifeIsAParadox <LifeIsAParadox@users.noreply.github.com>2022-01-31 17:41:46 +0100
commit2ca33023ce5ebc0e72ca13802e7e25813a780860 (patch)
treec1f0f69e89275f23ff8bf84cfe528fb54afb9f1e /src/main/java/me/xmrvizzy/skyblocker
parent3343fb527c0a2062fe8a0032945ac7b0dcbf0ae9 (diff)
downloadSkyblocker-2ca33023ce5ebc0e72ca13802e7e25813a780860.tar.gz
Skyblocker-2ca33023ce5ebc0e72ca13802e7e25813a780860.tar.bz2
Skyblocker-2ca33023ce5ebc0e72ca13802e7e25813a780860.zip
simplify the logic of scoreboard information
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java53
1 files changed, 23 insertions, 30 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
index c8e787e9..a4736242 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
@@ -9,6 +9,7 @@ import net.minecraft.scoreboard.Scoreboard;
import net.minecraft.scoreboard.ScoreboardObjective;
import net.minecraft.scoreboard.ScoreboardPlayerScore;
import net.minecraft.scoreboard.Team;
+import net.minecraft.util.Formatting;
import java.util.ArrayList;
import java.util.Collection;
@@ -104,37 +105,29 @@ public class Utils {
public static List<String> getSidebar() {
- List<String> lines = new ArrayList<>();
- MinecraftClient client = MinecraftClient.getInstance();
- if (client.world == null) return lines;
-
- Scoreboard scoreboard = client.world.getScoreboard();
- if (scoreboard == null) return lines;
- ScoreboardObjective sidebar = scoreboard.getObjectiveForSlot(1);
- if (sidebar == null) return lines;
-
- Collection<ScoreboardPlayerScore> scores = scoreboard.getAllPlayerScores(sidebar);
- List<ScoreboardPlayerScore> list = scores.stream()
- .filter(input -> input != null && input.getPlayerName() != null && !input.getPlayerName().startsWith("#"))
- .collect(Collectors.toList());
-
- if (list.size() > 15) {
- scores = Lists.newArrayList(Iterables.skip(list, scores.size() - 15));
- } else {
- scores = list;
- }
+ try {
+ assert MinecraftClient.getInstance().player != null;
+ Scoreboard scoreboard = MinecraftClient.getInstance().player.getScoreboard();
+ ScoreboardObjective objective = scoreboard.getObjectiveForSlot(1);
+ List<String> lines = new ArrayList<>();
+ for (ScoreboardPlayerScore score : scoreboard.getAllPlayerScores(objective)) {
+ Team team = scoreboard.getPlayerTeam(score.getPlayerName());
+ if (team != null) {
+ String line = team.getPrefix().getString() + team.getSuffix().getString();
+ if (line.trim().length() > 0) {
+ String formatted = Formatting.strip(line);
+ lines.add(formatted);
+ }
+ }
+ }
- for (ScoreboardPlayerScore score : scores) {
- Team team = scoreboard.getPlayerTeam(score.getPlayerName());
- if (team == null) return lines;
- String text = team.getPrefix().getString() + team.getSuffix().getString();
- if (text.trim().length() > 0)
- lines.add(text);
+ if (objective != null) {
+ lines.add(objective.getDisplayName().getString());
+ Collections.reverse(lines);
+ }
+ return lines;
+ } catch (NullPointerException e) {
+ return null;
}
-
- lines.add(sidebar.getDisplayName().getString());
- Collections.reverse(lines);
-
- return lines;
}
} \ No newline at end of file