aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java
diff options
context:
space:
mode:
authormsg-programs <msgdoesstuff@gmail.com>2023-07-23 12:29:32 +0200
committermsg-programs <msgdoesstuff@gmail.com>2023-07-23 12:29:32 +0200
commit384d9954aedefcee6f132d2bdadca11fca682bd7 (patch)
treee1688bb368f381ccdd2993e0d3e2cae9e799bf83 /src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java
parentf9740d423146fafa83a85704580368cdc1131377 (diff)
downloadSkyblocker-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.java34
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() {