From 0249b4c809ef017949b280fcf5deaf973bb1eb87 Mon Sep 17 00:00:00 2001 From: msg-programs Date: Sat, 15 Apr 2023 16:39:28 +0200 Subject: Add new "tab-menu-like" style options to dwarven mines HUD. --- .../skyblock/tabhud/widget/CommsWidget.java | 30 +++++++++++++++++++++- .../skyblocker/skyblock/tabhud/widget/Widget.java | 12 ++++++--- 2 files changed, 38 insertions(+), 4 deletions(-) (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud') diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/CommsWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/CommsWidget.java index ef86b8f0..120c53d8 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/CommsWidget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/CommsWidget.java @@ -4,10 +4,12 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import me.xmrvizzy.skyblocker.skyblock.dwarven.DwarvenHud.Commission; import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico; import me.xmrvizzy.skyblocker.skyblock.tabhud.util.StrMan; +import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.Component; +import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent; import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.ProgressComponent; - import net.minecraft.client.network.PlayerListEntry; import net.minecraft.text.MutableText; import net.minecraft.text.Text; @@ -46,6 +48,32 @@ public class CommsWidget extends Widget { this.pack(); } + // for the dwarven hud + public CommsWidget(List commissions, boolean isFancy) { + super(TITLE, Formatting.AQUA.getColorValue()); + for (Commission comm : commissions) { + + Text c = Text.literal(comm.commission()); + + float p = 100f; + if (!comm.progression().contains("DONE")) { + p = Float.parseFloat(comm.progression().substring(0, comm.progression().length() - 1)); + } + + Component comp; + if (isFancy) { + comp = new ProgressComponent(Ico.BOOK, c, p, pcntToCol(p)); + } else { + comp = new PlainTextComponent( + Text.literal(comm.commission() + ": ") + .append(Text.literal(comm.progression()).formatted(Formatting.GREEN))); + } + this.addComponent(comp); + } + this.pack(); + + } + private int pcntToCol(float pcnt) { return MathHelper.hsvToRgb(pcnt / 300f, 0.9f, 0.9f); } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java index 1fdad37a..63a72563 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java @@ -73,10 +73,16 @@ public abstract class Widget { } public final void render(MatrixStack ms) { + this.render(ms, true); + } + + public final void render(MatrixStack ms, boolean hasBG) { - DrawableHelper.fill(ms, x + 1, y, x + w - 1, y + h, COL_BG_BOX); - DrawableHelper.fill(ms, x, y + 1, x + 1, y + h - 1, COL_BG_BOX); - DrawableHelper.fill(ms, x + w - 1, y + 1, x + w, y + h - 1, COL_BG_BOX); + if (hasBG) { + DrawableHelper.fill(ms, x + 1, y, x + w - 1, y + h, COL_BG_BOX); + DrawableHelper.fill(ms, x, y + 1, x + 1, y + h - 1, COL_BG_BOX); + DrawableHelper.fill(ms, x + w - 1, y + 1, x + w, y + h - 1, COL_BG_BOX); + } int strHeightHalf = Widget.txtRend.fontHeight / 2; int strAreaWidth = Widget.txtRend.getWidth(title) + 4; -- cgit