diff options
author | msg-programs <msgdoesstuff@gmail.com> | 2023-07-23 12:29:32 +0200 |
---|---|---|
committer | msg-programs <msgdoesstuff@gmail.com> | 2023-07-23 12:29:32 +0200 |
commit | 384d9954aedefcee6f132d2bdadca11fca682bd7 (patch) | |
tree | e1688bb368f381ccdd2993e0d3e2cae9e799bf83 /src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java | |
parent | f9740d423146fafa83a85704580368cdc1131377 (diff) | |
download | Skyblocker-384d9954aedefcee6f132d2bdadca11fca682bd7.tar.gz Skyblocker-384d9954aedefcee6f132d2bdadca11fca682bd7.tar.bz2 Skyblocker-384d9954aedefcee6f132d2bdadca11fca682bd7.zip |
Massive refactor, see details
Instead of creating a new widget instance every frame, instantiate once and update content.
This means that every widget had to be updated to work like that.
This also necessitated some ugly hackery for the dwarven HUD.
Many other minor things like moving and renaming classes
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java | 34 |
1 files changed, 17 insertions, 17 deletions
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 122f6c6c..8f8afb3a 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java @@ -1,30 +1,29 @@ package me.xmrvizzy.skyblocker.skyblock.dwarven; +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.stream.Collectors; +import java.util.stream.Stream; + import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.CommsWidget; +import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.HudCommsWidget; import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; import net.minecraft.util.Formatting; -import java.util.ArrayList; -import java.util.List; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.stream.Collectors; -import java.util.stream.Stream; - public class DwarvenHud { public static final MinecraftClient client = MinecraftClient.getInstance(); public static List<Commission> commissionList = new ArrayList<>(); - public static final List<Pattern> COMMISSIONS = Stream.of( "(?:Titanium|Mithril|Hard Stone) Miner", "(?:Ice Walker|Goblin|Goblin Raid|Automaton|Sludge|Team Treasurite Member|Yog|Boss Corleone|Thyst) Slayer", @@ -40,6 +39,7 @@ public class DwarvenHud { "Chest Looter" ).map(s -> Pattern.compile("^.*(" + s + "): (\\d+\\.?\\d*%|DONE)")) .collect(Collectors.toList()); + public static void init() { ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> dispatcher.register(ClientCommandManager.literal("skyblocker") .then(ClientCommandManager.literal("hud") @@ -88,17 +88,17 @@ public class DwarvenHud { } public static void renderSimple(DrawContext context, int hudX, int hudY, List<Commission> commissions) { - CommsWidget cw = new CommsWidget(commissions, false); - cw.setX(hudX); - cw.setY(hudY); - cw.render(context, SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enableBackground); + HudCommsWidget.INSTANCE.updateData(commissions, false); + HudCommsWidget.INSTANCE.setX(hudX); + HudCommsWidget.INSTANCE.setY(hudY); + HudCommsWidget.INSTANCE.render(context, SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enableBackground); } public static void renderFancy(DrawContext context, int hudX, int hudY, List<Commission> commissions) { - CommsWidget cw = new CommsWidget(commissions, true); - cw.setX(hudX); - cw.setY(hudY); - cw.render(context, SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enableBackground); + HudCommsWidget.INSTANCE.updateData(commissions, true); + HudCommsWidget.INSTANCE.setX(hudX); + HudCommsWidget.INSTANCE.setY(hudY); + HudCommsWidget.INSTANCE.render(context, SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enableBackground); } public static void update() { |