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/DwarvenHud.java') 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/DwarvenHud.java') 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/DwarvenHud.java') 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: 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/DwarvenHud.java') 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/DwarvenHud.java') 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