diff options
author | msg-programs <msgdoesstuff@gmail.com> | 2023-04-15 16:39:28 +0200 |
---|---|---|
committer | msg-programs <msgdoesstuff@gmail.com> | 2023-04-15 16:39:28 +0200 |
commit | 0249b4c809ef017949b280fcf5deaf973bb1eb87 (patch) | |
tree | 5f8a2696cf8ec8506f32ef6f1aad10861a26b1e7 /src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven | |
parent | 44d88c9789cfe3bff5bad1df1c8170e98fd7b478 (diff) | |
download | Skyblocker-0249b4c809ef017949b280fcf5deaf973bb1eb87.tar.gz Skyblocker-0249b4c809ef017949b280fcf5deaf973bb1eb87.tar.bz2 Skyblocker-0249b4c809ef017949b280fcf5deaf973bb1eb87.zip |
Add new "tab-menu-like" style options to dwarven mines HUD.
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java | 59 |
1 files changed, 43 insertions, 16 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 86fe58fe..9f1e783c 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java @@ -1,6 +1,7 @@ package me.xmrvizzy.skyblocker.skyblock.dwarven; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.CommsWidget; 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; @@ -55,17 +56,49 @@ public class DwarvenHud { } public static void render(MatrixStack matrixStack, int hudX, int hudY, List<Commission> commissions) { - if (commissions.size() > 0){ - if (SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enableBackground) - DrawableHelper.fill(matrixStack, hudX, hudY, hudX + 200, hudY + (20 * commissions.size()), 0x64000000); - int y = 0; - for (Commission commission : commissions) { - client.textRenderer.drawWithShadow(matrixStack, Text.literal(commission.commission).styled(style -> style.withColor(Formatting.AQUA)).append(Text.literal(": " + commission.progression).styled(style -> style.withColor(Formatting.GREEN))), hudX + 5, hudY + y + 5, 0xFFFFFFFF); - y += 20; - } + if (commissions.size() <= 0) { + return; + } + + switch(SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.style) { + case SIMPLE -> renderSimple(matrixStack, hudX, hudY, commissions); + case FANCY -> renderFancy(matrixStack, hudX, hudY, commissions); + case CLASSIC -> renderClassic(matrixStack, hudX, hudY, commissions); + } + } + + public static void renderClassic(MatrixStack matrixStack, int hudX, int hudY, List<Commission> commissions) { + if (SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enableBackground) { + DrawableHelper.fill(matrixStack, hudX, hudY, hudX + 200, hudY + (20 * commissions.size()), 0x64000000); + } + + int y = 0; + for (Commission commission : commissions) { + client.textRenderer + .drawWithShadow(matrixStack, + Text.literal(commission.commission + ": ") + .styled(style -> style.withColor(Formatting.AQUA)) + .append(Text.literal(commission.progression) + .styled(style -> style.withColor(Formatting.GREEN))), + hudX + 5, hudY + y + 5, 0xFFFFFFFF); + y += 20; } } + public static void renderSimple(MatrixStack matrixStack, int hudX, int hudY, List<Commission> commissions) { + CommsWidget cw = new CommsWidget(commissions, false); + cw.setX(hudX); + cw.setY(hudY); + cw.render(matrixStack, SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enableBackground); + } + + public static void renderFancy(MatrixStack matrixStack, int hudX, int hudY, List<Commission> commissions) { + CommsWidget cw = new CommsWidget(commissions, true); + cw.setX(hudX); + cw.setY(hudY); + cw.render(matrixStack, SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enableBackground); + } + public static void update() { commissionList = new ArrayList<>(); if (client.player == null || !SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enabled) return; @@ -83,13 +116,7 @@ public class DwarvenHud { }); } - public static class Commission{ - final String commission; - final String progression; + // steamroller tactics to get visibility from outside classes + public static record Commission(String commission, String progression){} - public Commission(String commission, String progression){ - this.commission = commission; - this.progression = progression; - } - } } |