aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/thatgravyboat/skyblockhud/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/thatgravyboat/skyblockhud/api')
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/api/LeaderboardGetter.java145
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/api/events/SidebarLineUpdateEvent.java38
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/api/events/SidebarPostEvent.java28
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/api/events/SidebarPreGetEvent.java12
4 files changed, 120 insertions, 103 deletions
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/api/LeaderboardGetter.java b/src/main/java/com/thatgravyboat/skyblockhud/api/LeaderboardGetter.java
index 0833a0d..b722df1 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/api/LeaderboardGetter.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/api/LeaderboardGetter.java
@@ -19,79 +19,96 @@ import net.minecraftforge.fml.common.gameevent.TickEvent;
public class LeaderboardGetter {
- private static Map<Integer, String> cachedScores = new HashMap<>();
- private static List<String> cachedScoresList = new ArrayList<>();
+ private static Map<Integer, String> cachedScores = new HashMap<>();
+ private static List<String> cachedScoresList = new ArrayList<>();
- private static int ticks = 0;
+ private static int ticks = 0;
- @SubscribeEvent
- public void onClientUpdate(TickEvent.ClientTickEvent event) {
- if (event.phase.equals(TickEvent.Phase.START)) return;
- ticks++;
- if (ticks % 5 != 0) return;
+ @SubscribeEvent
+ public void onClientUpdate(TickEvent.ClientTickEvent event) {
+ if (event.phase.equals(TickEvent.Phase.START)) return;
+ ticks++;
+ if (ticks % 5 != 0) return;
- Minecraft mc = Minecraft.getMinecraft();
- if (mc.theWorld != null) {
- Scoreboard scoreboard = mc.theWorld.getScoreboard();
- ScoreObjective sidebarObjective = scoreboard.getObjectiveInDisplaySlot(1);
+ Minecraft mc = Minecraft.getMinecraft();
+ if (mc.theWorld != null) {
+ Scoreboard scoreboard = mc.theWorld.getScoreboard();
+ ScoreObjective sidebarObjective = scoreboard.getObjectiveInDisplaySlot(
+ 1
+ );
- if (
- sidebarObjective != null &&
- !MinecraftForge.EVENT_BUS.post(
- new SidebarPreGetEvent(scoreboard, sidebarObjective)
- )
- ) {
- Collection<Score> scoreList = sidebarObjective
- .getScoreboard()
- .getSortedScores(sidebarObjective);
- Map<Integer, String> scores = scoreList
- .stream()
- .collect(Collectors.toMap(Score::getScorePoints, this::getLine));
+ if (
+ sidebarObjective != null &&
+ !MinecraftForge.EVENT_BUS.post(
+ new SidebarPreGetEvent(scoreboard, sidebarObjective)
+ )
+ ) {
+ Collection<Score> scoreList = sidebarObjective
+ .getScoreboard()
+ .getSortedScores(sidebarObjective);
+ Map<Integer, String> scores = scoreList
+ .stream()
+ .collect(
+ Collectors.toMap(Score::getScorePoints, this::getLine)
+ );
- if (!cachedScores.equals(scores)) {
- scores.forEach(
- (score, name) -> {
- if (
- cachedScores.get(score) == null ||
- !cachedScores.get(score).equals(name)
- ) {
+ if (!cachedScores.equals(scores)) {
+ scores.forEach(
+ (score, name) -> {
+ if (
+ cachedScores.get(score) == null ||
+ !cachedScores.get(score).equals(name)
+ ) {
+ MinecraftForge.EVENT_BUS.post(
+ new SidebarLineUpdateEvent(
+ name,
+ SCOREBOARD_CHARACTERS
+ .matcher(name)
+ .replaceAll("")
+ .trim(),
+ score,
+ scores.size(),
+ scoreboard,
+ sidebarObjective
+ )
+ );
+ }
+ }
+ );
+ cachedScores = scores;
+ cachedScoresList =
+ scores
+ .values()
+ .stream()
+ .map(
+ name ->
+ SCOREBOARD_CHARACTERS
+ .matcher(name)
+ .replaceAll("")
+ .trim()
+ )
+ .collect(Collectors.toList());
+ }
MinecraftForge.EVENT_BUS.post(
- new SidebarLineUpdateEvent(
- name,
- SCOREBOARD_CHARACTERS.matcher(name).replaceAll("").trim(),
- score,
- scores.size(),
- scoreboard,
- sidebarObjective
- )
+ new SidebarPostEvent(
+ scoreboard,
+ sidebarObjective,
+ cachedScoresList
+ )
);
- }
}
- );
- cachedScores = scores;
- cachedScoresList =
- scores
- .values()
- .stream()
- .map(
- name ->
- SCOREBOARD_CHARACTERS.matcher(name).replaceAll("").trim()
- )
- .collect(Collectors.toList());
}
- MinecraftForge.EVENT_BUS.post(
- new SidebarPostEvent(scoreboard, sidebarObjective, cachedScoresList)
- );
- }
}
- }
- public String getLine(Score score) {
- ScorePlayerTeam scorePlayerTeam = score
- .getScoreScoreboard()
- .getPlayersTeam(score.getPlayerName());
- return Utils.removeColor(
- ScorePlayerTeam.formatPlayerName(scorePlayerTeam, score.getPlayerName())
- );
- }
+ public String getLine(Score score) {
+ ScorePlayerTeam scorePlayerTeam = score
+ .getScoreScoreboard()
+ .getPlayersTeam(score.getPlayerName());
+ return Utils.removeColor(
+ ScorePlayerTeam.formatPlayerName(
+ scorePlayerTeam,
+ score.getPlayerName()
+ )
+ );
+ }
}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/api/events/SidebarLineUpdateEvent.java b/src/main/java/com/thatgravyboat/skyblockhud/api/events/SidebarLineUpdateEvent.java
index 843ad05..8a7aa39 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/api/events/SidebarLineUpdateEvent.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/api/events/SidebarLineUpdateEvent.java
@@ -6,24 +6,24 @@ import net.minecraftforge.fml.common.eventhandler.Event;
public class SidebarLineUpdateEvent extends Event {
- public String rawLine;
- public String formattedLine;
- public int position;
- public Scoreboard scoreboard;
- public ScoreObjective objective;
+ public String rawLine;
+ public String formattedLine;
+ public int position;
+ public Scoreboard scoreboard;
+ public ScoreObjective objective;
- public SidebarLineUpdateEvent(
- String rawLine,
- String formattedLine,
- int score,
- int max,
- Scoreboard scoreboard,
- ScoreObjective objective
- ) {
- this.rawLine = rawLine;
- this.formattedLine = formattedLine;
- this.position = max - score;
- this.scoreboard = scoreboard;
- this.objective = objective;
- }
+ public SidebarLineUpdateEvent(
+ String rawLine,
+ String formattedLine,
+ int score,
+ int max,
+ Scoreboard scoreboard,
+ ScoreObjective objective
+ ) {
+ this.rawLine = rawLine;
+ this.formattedLine = formattedLine;
+ this.position = max - score;
+ this.scoreboard = scoreboard;
+ this.objective = objective;
+ }
}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/api/events/SidebarPostEvent.java b/src/main/java/com/thatgravyboat/skyblockhud/api/events/SidebarPostEvent.java
index b020e12..92ed25e 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/api/events/SidebarPostEvent.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/api/events/SidebarPostEvent.java
@@ -7,19 +7,19 @@ import net.minecraftforge.fml.common.eventhandler.Event;
public class SidebarPostEvent extends Event {
- public Scoreboard scoreboard;
- public ScoreObjective objective;
- public List<String> scores;
- public String[] arrayScores;
+ public Scoreboard scoreboard;
+ public ScoreObjective objective;
+ public List<String> scores;
+ public String[] arrayScores;
- public SidebarPostEvent(
- Scoreboard scoreboard,
- ScoreObjective objective,
- List<String> scores
- ) {
- this.scoreboard = scoreboard;
- this.objective = objective;
- this.scores = scores;
- this.arrayScores = scores.toArray(new String[] {});
- }
+ public SidebarPostEvent(
+ Scoreboard scoreboard,
+ ScoreObjective objective,
+ List<String> scores
+ ) {
+ this.scoreboard = scoreboard;
+ this.objective = objective;
+ this.scores = scores;
+ this.arrayScores = scores.toArray(new String[] {});
+ }
}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/api/events/SidebarPreGetEvent.java b/src/main/java/com/thatgravyboat/skyblockhud/api/events/SidebarPreGetEvent.java
index 1176b9a..0db1895 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/api/events/SidebarPreGetEvent.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/api/events/SidebarPreGetEvent.java
@@ -8,11 +8,11 @@ import net.minecraftforge.fml.common.eventhandler.Event;
@Cancelable
public class SidebarPreGetEvent extends Event {
- public Scoreboard scoreboard;
- public ScoreObjective objective;
+ public Scoreboard scoreboard;
+ public ScoreObjective objective;
- public SidebarPreGetEvent(Scoreboard scoreboard, ScoreObjective objective) {
- this.scoreboard = scoreboard;
- this.objective = objective;
- }
+ public SidebarPreGetEvent(Scoreboard scoreboard, ScoreObjective objective) {
+ this.scoreboard = scoreboard;
+ this.objective = objective;
+ }
}