aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/thatgravyboat/skyblockhud/api
diff options
context:
space:
mode:
authornea <nea@nea.moe>2023-07-23 15:06:14 +0200
committernea <nea@nea.moe>2023-07-23 15:06:14 +0200
commitc4fc3d5b4783a4f9cdc2079736880af55e26ca65 (patch)
tree7506f1675a3b7c7b05be0ea621800265fef2d460 /src/main/java/com/thatgravyboat/skyblockhud/api
parentdcc604153eb806420a59c55a85f01773a5c0278f (diff)
downloadskyblockhud-c4fc3d5b4783a4f9cdc2079736880af55e26ca65.tar.gz
skyblockhud-c4fc3d5b4783a4f9cdc2079736880af55e26ca65.tar.bz2
skyblockhud-c4fc3d5b4783a4f9cdc2079736880af55e26ca65.zip
Add rift locations
Diffstat (limited to 'src/main/java/com/thatgravyboat/skyblockhud/api')
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/api/LeaderboardGetter.java13
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/api/events/SidebarLineUpdateEvent.java6
2 files changed, 12 insertions, 7 deletions
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/api/LeaderboardGetter.java b/src/main/java/com/thatgravyboat/skyblockhud/api/LeaderboardGetter.java
index 3c59360..5023e83 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/api/LeaderboardGetter.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/api/LeaderboardGetter.java
@@ -1,14 +1,10 @@
package com.thatgravyboat.skyblockhud.api;
-import static com.thatgravyboat.skyblockhud.ComponentHandler.SCOREBOARD_CHARACTERS;
-
import com.thatgravyboat.skyblockhud.SkyblockHud;
import com.thatgravyboat.skyblockhud.api.events.SidebarLineUpdateEvent;
import com.thatgravyboat.skyblockhud.api.events.SidebarPostEvent;
import com.thatgravyboat.skyblockhud.api.events.SidebarPreGetEvent;
import com.thatgravyboat.skyblockhud.utils.Utils;
-import java.util.*;
-import java.util.stream.Collectors;
import net.minecraft.client.Minecraft;
import net.minecraft.scoreboard.Score;
import net.minecraft.scoreboard.ScoreObjective;
@@ -18,6 +14,11 @@ import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;
+import java.util.*;
+import java.util.stream.Collectors;
+
+import static com.thatgravyboat.skyblockhud.ComponentHandler.SCOREBOARD_CHARACTERS;
+
public class LeaderboardGetter {
private static Map<Integer, String> cachedScores = new HashMap<>();
@@ -43,11 +44,11 @@ public class LeaderboardGetter {
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, (s1, s2) -> s1));
-
if (!cachedScores.equals(scores)) {
+ Map<Integer, String> allFormattedLines = scores.entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, (entry) -> SCOREBOARD_CHARACTERS.matcher(entry.getValue()).replaceAll("").trim()));
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));
+ MinecraftForge.EVENT_BUS.post(new SidebarLineUpdateEvent(name, SCOREBOARD_CHARACTERS.matcher(name).replaceAll("").trim(), score, scores.size(), scoreboard, sidebarObjective, allFormattedLines));
}
});
cachedScores = scores;
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 2737ee9..931843c 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/api/events/SidebarLineUpdateEvent.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/api/events/SidebarLineUpdateEvent.java
@@ -4,17 +4,21 @@ import net.minecraft.scoreboard.ScoreObjective;
import net.minecraft.scoreboard.Scoreboard;
import net.minecraftforge.fml.common.eventhandler.Event;
+import java.util.Map;
+
public class SidebarLineUpdateEvent extends Event {
public String rawLine;
public String formattedLine;
public int position;
public Scoreboard scoreboard;
+ public Map<Integer, String> allFormattedLines;
public ScoreObjective objective;
- public SidebarLineUpdateEvent(String rawLine, String formattedLine, int score, int max, Scoreboard scoreboard, ScoreObjective objective) {
+ public SidebarLineUpdateEvent(String rawLine, String formattedLine, int score, int max, Scoreboard scoreboard, ScoreObjective objective, Map<Integer, String> allFormattedLines) {
this.rawLine = rawLine;
this.formattedLine = formattedLine;
+ this.allFormattedLines = allFormattedLines;
this.position = max - score;
this.scoreboard = scoreboard;
this.objective = objective;