aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2023-10-08 02:54:00 -0400
committerAaron <51387595+AzureAaron@users.noreply.github.com>2023-10-08 02:58:06 -0400
commit6e5bef27ff2d78b5012f99c9d96e99d9b9673e4c (patch)
tree12f39e8ebe0a92ced6e8474cefc179819c48db2f /src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java
parent0c9381191663a74a9ec3cff9aae1c8b523215f0e (diff)
downloadSkyblocker-6e5bef27ff2d78b5012f99c9d96e99d9b9673e4c.tar.gz
Skyblocker-6e5bef27ff2d78b5012f99c9d96e99d9b9673e4c.tar.bz2
Skyblocker-6e5bef27ff2d78b5012f99c9d96e99d9b9673e4c.zip
Optimize Scoreboard Stuff
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java45
1 files changed, 18 insertions, 27 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java
index 5548484e..4db5f3e6 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java
@@ -4,13 +4,6 @@ import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
import me.xmrvizzy.skyblocker.utils.Utils;
import me.xmrvizzy.skyblocker.utils.render.RenderHelper;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.network.ClientPlayerEntity;
-import net.minecraft.scoreboard.Scoreboard;
-import net.minecraft.scoreboard.ScoreboardDisplaySlot;
-import net.minecraft.scoreboard.ScoreboardObjective;
-import net.minecraft.scoreboard.ScoreboardPlayerScore;
-import net.minecraft.scoreboard.Team;
import net.minecraft.text.Text;
import net.minecraft.text.TextColor;
import net.minecraft.util.DyeColor;
@@ -23,7 +16,7 @@ import java.util.List;
public class EffigyWaypoints {
private static final Logger LOGGER = LoggerFactory.getLogger(EffigyWaypoints.class);
- private static final List<BlockPos> effigies = List.of(
+ private static final List<BlockPos> EFFIGIES = List.of(
new BlockPos(150, 79, 95), //Effigy 1
new BlockPos(193, 93, 119), //Effigy 2
new BlockPos(235, 110, 147), //Effigy 3
@@ -31,29 +24,27 @@ public class EffigyWaypoints {
new BlockPos(262, 99, 94), //Effigy 5
new BlockPos(240, 129, 118) //Effigy 6
);
- private static final List<BlockPos> unBrokenEffigies = new ArrayList<>();
+ private static final List<BlockPos> UNBROKEN_EFFIGIES = new ArrayList<>();
protected static void updateEffigies() {
if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableEffigyWaypoints || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getLocation().contains("Stillgore Château")) return;
- unBrokenEffigies.clear();
+ UNBROKEN_EFFIGIES.clear();
+
try {
- ClientPlayerEntity player = MinecraftClient.getInstance().player;
- if (player == null) return;
- Scoreboard scoreboard = player.getScoreboard();
- ScoreboardObjective objective = scoreboard.getObjectiveForSlot(ScoreboardDisplaySlot.FROM_ID.apply(1));
- 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.contains("Effigies")) {
- List<Text> newList = new ArrayList<>(team.getPrefix().getSiblings());
- newList.addAll(team.getSuffix().getSiblings());
- for (int i = 1; i < newList.size(); i++) {
- if (newList.get(i).getStyle().getColor() == TextColor.parse("gray")) {
- unBrokenEffigies.add(effigies.get(i - 1));
- }
- }
+ for (int i = 0; i < Utils.STRING_SCOREBOARD.size(); i++) {
+ String line = Utils.STRING_SCOREBOARD.get(i);
+
+ if (line.contains("Effigies")) {
+ List<Text> effigiesText = new ArrayList<>();
+ List<Text> prefixAndSuffix = Utils.TEXT_SCOREBOARD.get(i).getSiblings();
+
+ //Add contents of prefix and suffix to list
+ effigiesText.addAll(prefixAndSuffix.get(0).getSiblings());
+ effigiesText.addAll(prefixAndSuffix.get(1).getSiblings());
+
+ for (int i2 = 1; i2 < effigiesText.size(); i2++) {
+ if (effigiesText.get(i2).getStyle().getColor() == TextColor.parse("gray")) UNBROKEN_EFFIGIES.add(EFFIGIES.get(i2 - 1));
}
}
}
@@ -64,7 +55,7 @@ public class EffigyWaypoints {
protected static void render(WorldRenderContext context) {
if (SkyblockerConfigManager.get().slayer.vampireSlayer.enableEffigyWaypoints && Utils.getLocation().contains("Stillgore Château")) {
- for (BlockPos effigy : unBrokenEffigies) {
+ for (BlockPos effigy : UNBROKEN_EFFIGIES) {
float[] colorComponents = DyeColor.RED.getColorComponents();
if (SkyblockerConfigManager.get().slayer.vampireSlayer.compactEffigyWaypoints) {
RenderHelper.renderFilledThroughWallsWithBeaconBeam(context, effigy.down(6), colorComponents, 0.5F);