From 9babf902ffe605a42c24d07891ef09d3836f754c Mon Sep 17 00:00:00 2001 From: TacoMonkey <75862693+TacoMonkey11@users.noreply.github.com> Date: Mon, 7 Mar 2022 20:56:42 -0500 Subject: added commission HUD --- .../skyblocker/skyblock/dwarven/DwarvenHud.java | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven') diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java new file mode 100644 index 00000000..f1aa2ff6 --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java @@ -0,0 +1,73 @@ +package me.xmrvizzy.skyblocker.skyblock.dwarven; + +import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.DrawableHelper; +import net.minecraft.text.LiteralText; +import net.minecraft.util.Formatting; + +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class DwarvenHud { + + + public static MinecraftClient client = MinecraftClient.getInstance(); + + public static final List COMMISSIONS = List.of( + Pattern.compile("^.*((?:Titanium|Mithril|Hard Stone) Miner): (\\d+\\.?\\d*%|DONE)"), + Pattern.compile("^.*((?:Ice Walker|Goblin|Goblin Raid|Automaton|Sludge|Team Treasuite Member|Yog|Boss Corleone|Thyst) Slayer): (\\d+\\.?\\d*%|DONE)"), + Pattern.compile("^.*((?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Mithril): (\\d+\\.?\\d*%|DONE)"), + Pattern.compile("^.*((?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Titanium): (\\d+\\.?\\d*%|DONE)"), + Pattern.compile("^.*(Goblin Raid): (\\d+\\.?\\d*%|DONE)"), + Pattern.compile("^.*((?:Powder Ghast|Star Sentry) Puncher): (\\d+\\.?\\d*%|DONE)"), + Pattern.compile("^.*(Raffle): (\\d+\\.?\\d*%|DONE)"), + Pattern.compile("^.*(Lucky Raffle): (\\d+\\.?\\d*%|DONE)"), + Pattern.compile("^.*(2x Mithril Powder Collector): (\\d+\\.?\\d*%|DONE)"), + Pattern.compile("^.*((?:Ruby|Amber|Sapphire|Jade|Amethyst|Topaz) Gemstone Collector): (\\d+\\.?\\d*%|DONE)"), + Pattern.compile("^.*((?:Amber|Sapphire|Jade|Amethyst|Topaz) Crystal Hunter): (\\d+\\.?\\d*%|DONE)"), + Pattern.compile("^.*(Chest Looter): (\\d+\\.?\\d*%|DONE)") + ); + public static void init(){ + HudRenderCallback.EVENT.register((matrixStack, tickDelta) -> { + if (SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enabled) { + int hudX = SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.x; + int hudY = SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.y; + List commissions = new ArrayList<>(); + client.getNetworkHandler().getPlayerList().forEach(playerListEntry -> { + if (playerListEntry.getDisplayName() != null) { + for (Pattern pattern : COMMISSIONS) { + Matcher matcher = pattern.matcher(playerListEntry.getDisplayName().getString()); + if (matcher.find()) { + commissions.add(new Commission(matcher.group(1), matcher.group(2))); + } + + } + } + }); + if (commissions.size() > 0){ + if (SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enableBackground) + DrawableHelper.fill(matrixStack, hudX, hudY, hudX + 150, hudY + 50, 0x64000000); + int y = 0; + for (Commission commission : commissions) { + client.textRenderer.drawWithShadow(matrixStack, new LiteralText(commission.commission).styled(style -> style.withColor(Formatting.AQUA)).append(new LiteralText(": " + commission.progression).styled(style -> style.withColor(Formatting.GREEN))), hudX + 5, hudY + y + 5, 0xFFFFFFFF); + y += 20; + } + } + } + }); + } + + public static class Commission{ + String commission; + String progression; + + public Commission(String commission, String progression){ + this.commission = commission; + this.progression = progression; + } + } +} -- cgit From faa3755c034fa4212ec3ad1f7382c79313fb501e Mon Sep 17 00:00:00 2001 From: TacoMonkey <75862693+TacoMonkey11@users.noreply.github.com> Date: Tue, 8 Mar 2022 07:43:53 -0500 Subject: allow for more commissions than just 2 --- src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven') diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java index f1aa2ff6..6821cb96 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java @@ -50,7 +50,7 @@ public class DwarvenHud { }); if (commissions.size() > 0){ if (SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enableBackground) - DrawableHelper.fill(matrixStack, hudX, hudY, hudX + 150, hudY + 50, 0x64000000); + DrawableHelper.fill(matrixStack, hudX, hudY, hudX + 150, hudY + (20 * commissions.size()), 0x64000000); int y = 0; for (Commission commission : commissions) { client.textRenderer.drawWithShadow(matrixStack, new LiteralText(commission.commission).styled(style -> style.withColor(Formatting.AQUA)).append(new LiteralText(": " + commission.progression).styled(style -> style.withColor(Formatting.GREEN))), hudX + 5, hudY + y + 5, 0xFFFFFFFF); -- cgit From e2aa8fdd174d0e06bd86883135b882de68318ace Mon Sep 17 00:00:00 2001 From: Spencer <75862693+TacoMonkey11@users.noreply.github.com> Date: Tue, 8 Mar 2022 11:35:52 -0500 Subject: fix raffle regex --- src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven') diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java index 6821cb96..b99490fe 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java @@ -24,7 +24,7 @@ public class DwarvenHud { Pattern.compile("^.*((?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Titanium): (\\d+\\.?\\d*%|DONE)"), Pattern.compile("^.*(Goblin Raid): (\\d+\\.?\\d*%|DONE)"), Pattern.compile("^.*((?:Powder Ghast|Star Sentry) Puncher): (\\d+\\.?\\d*%|DONE)"), - Pattern.compile("^.*(Raffle): (\\d+\\.?\\d*%|DONE)"), + Pattern.compile("^.*((? Date: Thu, 7 Apr 2022 20:30:06 +0200 Subject: Replaced most assertions with proper error handling --- .../me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java | 5 ++--- .../xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java | 8 ++++---- .../me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java | 8 +++++--- .../xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdos.java | 8 ++------ .../me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java | 6 +++--- .../me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java | 2 +- .../me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java | 4 ++-- src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java | 14 +++++++++++--- src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java | 4 +++- 9 files changed, 33 insertions(+), 26 deletions(-) (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven') diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java index 2a9984b3..7e5411aa 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java @@ -33,9 +33,8 @@ public class ChatHudListenerMixin { switch (result) { case ACTION_BAR: ClientPlayerEntity player = client.player; - // Couldn't have received original message if client was null - assert player != null; - player.sendMessage(message, true); + if (player != null) + player.sendMessage(message, true); case FILTER: ci.cancel(); } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java index 1b87925c..4554372b 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java @@ -7,6 +7,7 @@ import me.xmrvizzy.skyblocker.utils.RenderUtils; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents; import net.minecraft.client.MinecraftClient; +import net.minecraft.client.world.ClientWorld; import net.minecraft.entity.Entity; import net.minecraft.util.math.Box; import org.slf4j.Logger; @@ -19,15 +20,14 @@ public class DungeonBlaze { static boolean renderHooked = false; public static void update() { - if (!Utils.isInDungeons) return; - MinecraftClient client = MinecraftClient.getInstance(); + ClientWorld world = MinecraftClient.getInstance().world; + if (world == null || !Utils.isInDungeons) return; if(!renderHooked){ WorldRenderEvents.END.register(DungeonBlaze::blazeRenderer); renderHooked = true; } - assert client.world != null; - Iterable entities = client.world.getEntities(); + Iterable entities = world.getEntities(); int highestHealth = 0; int lowestHealth = 99999999; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java index f5fd1151..c3da7c18 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java @@ -27,9 +27,8 @@ public class Reparty extends ChatPatternListener { repartying = false; ClientCommandManager.DISPATCHER.register( ClientCommandManager.literal("rp").executes(context -> { - if (!Utils.isOnSkyblock || repartying) + if (!Utils.isOnSkyblock || repartying || client.player == null) return 0; - assert client.player != null; repartying = true; client.player.sendChatMessage("/p list"); return 0; @@ -63,7 +62,10 @@ public class Reparty extends ChatPatternListener { private void reparty() { ClientPlayerEntity playerEntity = client.player; - assert playerEntity != null; + if (playerEntity == null) { + repartying = false; + return; + } sendCommand(playerEntity, "/p disband", 1); StringBuilder sb = new StringBuilder(); int invites = (players.length - 1) / 5 + 1; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdos.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdos.java index 8f1f3711..da964f07 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdos.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdos.java @@ -23,17 +23,13 @@ public class ThreeWeirdos extends ChatPatternListener { @Override public boolean onMatch(Text message, Matcher matcher) { MinecraftClient client = MinecraftClient.getInstance(); - assert client.world != null; - assert client.player != null; + if (client.player == null || client.world == null) return false; client.world.getEntitiesByClass( ArmorStandEntity.class, client.player.getBoundingBox().expand(3), entity -> { Text customName = entity.getCustomName(); - if (customName != null && customName.getString().equals(matcher.group(1))) { - return true; - } - return false; + return customName != null && customName.getString().equals(matcher.group(1)); } ).forEach( entity -> entity.setCustomName(Text.of(Formatting.GREEN + matcher.group(1))) diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java index 51ff1c6a..673797d4 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java @@ -31,9 +31,9 @@ public class Trivia extends ChatPatternListener { if (riddle != null) { if (!solutions.contains(riddle)) { ClientPlayerEntity player = MinecraftClient.getInstance().player; - assert player != null; - MinecraftClient.getInstance().player.sendMessage(new LiteralText(" " + Formatting.GOLD + matcher.group(2) + Formatting.RED + " " + riddle), false); - return true; + if (player != null) + MinecraftClient.getInstance().player.sendMessage(new LiteralText(" " + Formatting.GOLD + matcher.group(2) + Formatting.RED + " " + riddle), false); + return player != null; } } else updateSolutions(matcher.group(0)); diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java index ce1dde11..ccd47c5a 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java @@ -26,7 +26,7 @@ public class Fetchur extends ChatPatternListener { @Override public boolean onMatch(Text message, Matcher matcher) { MinecraftClient client = MinecraftClient.getInstance(); - assert client.player != null; + if (client.player == null) return false; String riddle = matcher.group(1); String answer = answers.getOrDefault(riddle, riddle); client.player.sendMessage(Text.of("§e[NPC] Fetchur§f: " + answer), false); diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java index f61e007e..06395898 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java @@ -32,8 +32,8 @@ public class Puzzler extends ChatPatternListener { else if (c == '▶') x--; } ClientWorld world = MinecraftClient.getInstance().world; - assert world != null; - world.setBlockStateWithoutNeighborUpdates(new BlockPos(x, 195, z), Blocks.CRIMSON_PLANKS.getDefaultState()); + if (world != null) + world.setBlockStateWithoutNeighborUpdates(new BlockPos(x, 195, z), Blocks.CRIMSON_PLANKS.getDefaultState()); return false; } } \ No newline at end of file diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java index 0fdf4892..16e5b023 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java @@ -1,8 +1,12 @@ package me.xmrvizzy.skyblocker.utils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.util.PriorityQueue; public class Scheduler { + private static final Logger LOGGER = LoggerFactory.getLogger(Scheduler.class); private int currentTick; private final PriorityQueue tasks; @@ -12,21 +16,25 @@ public class Scheduler { } public void schedule(Runnable task, int delay) { - assert delay > 0; + if (delay < 0) + LOGGER.warn("Scheduled a task with negative delay"); ScheduledTask tmp = new ScheduledTask(currentTick + delay, task); tasks.add(tmp); } public void scheduleCyclic(Runnable task, int period) { - new CyclicTask(task, period).run(); + if (period <= 0) + LOGGER.error("Attempted to schedule a cyclic task with period lower than 1"); + else + new CyclicTask(task, period).run(); } public void tick() { currentTick += 1; ScheduledTask task; while ((task = tasks.peek()) != null && task.schedule <= currentTick) { - task.run(); tasks.poll(); + task.run(); } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java index 66d04b50..5894c9df 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java @@ -3,6 +3,7 @@ package me.xmrvizzy.skyblocker.utils; import me.xmrvizzy.skyblocker.skyblock.item.PriceInfoTooltip; import net.fabricmc.fabric.api.client.item.v1.ItemTooltipCallback; import net.minecraft.client.MinecraftClient; +import net.minecraft.client.network.ClientPlayerEntity; import net.minecraft.scoreboard.Scoreboard; import net.minecraft.scoreboard.ScoreboardObjective; import net.minecraft.scoreboard.ScoreboardPlayerScore; @@ -102,7 +103,8 @@ public class Utils { public static List getSidebar() { try { - assert MinecraftClient.getInstance().player != null; + ClientPlayerEntity client = MinecraftClient.getInstance().player; + if (client == null) return Collections.emptyList(); Scoreboard scoreboard = MinecraftClient.getInstance().player.getScoreboard(); ScoreboardObjective objective = scoreboard.getObjectiveForSlot(1); List lines = new ArrayList<>(); -- cgit From 13e55abed8c01ea684b85d0ec81d7d8b6b7442c5 Mon Sep 17 00:00:00 2001 From: Spencer <75862693+TacoMonkey11@users.noreply.github.com> Date: Sun, 24 Apr 2022 12:02:26 -0400 Subject: extend hud and simplify regex --- .../skyblocker/skyblock/dwarven/DwarvenHud.java | 32 +++++++++++----------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven') diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java index b99490fe..78362ac1 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java @@ -17,19 +17,19 @@ public class DwarvenHud { public static MinecraftClient client = MinecraftClient.getInstance(); - public static final List COMMISSIONS = List.of( - Pattern.compile("^.*((?:Titanium|Mithril|Hard Stone) Miner): (\\d+\\.?\\d*%|DONE)"), - Pattern.compile("^.*((?:Ice Walker|Goblin|Goblin Raid|Automaton|Sludge|Team Treasuite Member|Yog|Boss Corleone|Thyst) Slayer): (\\d+\\.?\\d*%|DONE)"), - Pattern.compile("^.*((?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Mithril): (\\d+\\.?\\d*%|DONE)"), - Pattern.compile("^.*((?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Titanium): (\\d+\\.?\\d*%|DONE)"), - Pattern.compile("^.*(Goblin Raid): (\\d+\\.?\\d*%|DONE)"), - Pattern.compile("^.*((?:Powder Ghast|Star Sentry) Puncher): (\\d+\\.?\\d*%|DONE)"), - Pattern.compile("^.*((? COMMISSIONS = List.of( + "((?:Titanium|Mithril|Hard Stone) Miner): (.*)", + "((?:Ice Walker|Goblin|Goblin Raid|Automaton|Sludge|Team Treasuite Member|Yog|Boss Corleone|Thyst) Slayer): (.*)", + "((?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Mithril): (.*)", + "((?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Titanium): (.*)", + "(Goblin Raid): (.*)", + "((?:Powder Ghast|Star Sentry) Puncher): (.*)", + "((? { @@ -39,8 +39,8 @@ public class DwarvenHud { List commissions = new ArrayList<>(); client.getNetworkHandler().getPlayerList().forEach(playerListEntry -> { if (playerListEntry.getDisplayName() != null) { - for (Pattern pattern : COMMISSIONS) { - Matcher matcher = pattern.matcher(playerListEntry.getDisplayName().getString()); + for (String pattern : COMMISSIONS) { + Matcher matcher = Pattern.compile(pattern).matcher(playerListEntry.getDisplayName().getString()); if (matcher.find()) { commissions.add(new Commission(matcher.group(1), matcher.group(2))); } @@ -50,7 +50,7 @@ public class DwarvenHud { }); if (commissions.size() > 0){ if (SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enableBackground) - DrawableHelper.fill(matrixStack, hudX, hudY, hudX + 150, hudY + (20 * commissions.size()), 0x64000000); + DrawableHelper.fill(matrixStack, hudX, hudY, hudX + 200, hudY + (20 * commissions.size()), 0x64000000); int y = 0; for (Commission commission : commissions) { client.textRenderer.drawWithShadow(matrixStack, new LiteralText(commission.commission).styled(style -> style.withColor(Formatting.AQUA)).append(new LiteralText(": " + commission.progression).styled(style -> style.withColor(Formatting.GREEN))), hudX + 5, hudY + y + 5, 0xFFFFFFFF); -- cgit From ecc1b424d18774a976309adb750f4a76ad70eb1a Mon Sep 17 00:00:00 2001 From: Spencer <75862693+TacoMonkey11@users.noreply.github.com> Date: Sun, 24 Apr 2022 13:54:07 -0400 Subject: finalize regex, hopefully --- .../skyblocker/skyblock/dwarven/DwarvenHud.java | 34 ++++++++++++---------- 1 file changed, 18 insertions(+), 16 deletions(-) (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven') diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java index 78362ac1..0c614641 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java @@ -11,26 +11,28 @@ import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.Collectors; public class DwarvenHud { public static MinecraftClient client = MinecraftClient.getInstance(); - public static final List COMMISSIONS = List.of( - "((?:Titanium|Mithril|Hard Stone) Miner): (.*)", - "((?:Ice Walker|Goblin|Goblin Raid|Automaton|Sludge|Team Treasuite Member|Yog|Boss Corleone|Thyst) Slayer): (.*)", - "((?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Mithril): (.*)", - "((?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Titanium): (.*)", - "(Goblin Raid): (.*)", - "((?:Powder Ghast|Star Sentry) Puncher): (.*)", - "((? COMMISSIONS = List.of( + "(?:Titanium|Mithril|Hard Stone) Miner", + "(?:Ice Walker|Goblin|Goblin Raid|Automaton|Sludge|Team Treasuite Member|Yog|Boss Corleone|Thyst) Slayer", + "(?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Mithril", + "(?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Titanium", + "Goblin Raid", + "(?:Powder Ghast|Star Sentry) Puncher", + "(? Pattern.compile("^.*(" + s + "): (\\d+\\.?\\d*%|DONE)")) + .collect(Collectors.toList()); public static void init(){ HudRenderCallback.EVENT.register((matrixStack, tickDelta) -> { if (SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enabled) { @@ -39,8 +41,8 @@ public class DwarvenHud { List commissions = new ArrayList<>(); client.getNetworkHandler().getPlayerList().forEach(playerListEntry -> { if (playerListEntry.getDisplayName() != null) { - for (String pattern : COMMISSIONS) { - Matcher matcher = Pattern.compile(pattern).matcher(playerListEntry.getDisplayName().getString()); + for (Pattern pattern : COMMISSIONS) { + Matcher matcher = pattern.matcher(playerListEntry.getDisplayName().getString()); if (matcher.find()) { commissions.add(new Commission(matcher.group(1), matcher.group(2))); } -- cgit