diff options
author | DeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com> | 2022-06-05 18:12:19 +0200 |
---|---|---|
committer | DeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com> | 2022-06-05 18:12:19 +0200 |
commit | 1a882c234c8e2e352cad8c820567bbe140355675 (patch) | |
tree | 9a671003305e01fa210c2b0935b2628010e10027 /src/main/java/cc/polyfrost/oneconfig/hud | |
parent | ab7256dff5d6d37488081ba7a01b36d3ee9ef563 (diff) | |
download | OneConfig-1a882c234c8e2e352cad8c820567bbe140355675.tar.gz OneConfig-1a882c234c8e2e352cad8c820567bbe140355675.tar.bz2 OneConfig-1a882c234c8e2e352cad8c820567bbe140355675.zip |
hud options things
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/hud')
-rw-r--r-- | src/main/java/cc/polyfrost/oneconfig/hud/TextHud.java | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/hud/TextHud.java b/src/main/java/cc/polyfrost/oneconfig/hud/TextHud.java index f868660..99df46b 100644 --- a/src/main/java/cc/polyfrost/oneconfig/hud/TextHud.java +++ b/src/main/java/cc/polyfrost/oneconfig/hud/TextHud.java @@ -3,25 +3,35 @@ package cc.polyfrost.oneconfig.hud; import cc.polyfrost.oneconfig.renderer.RenderManager; import gg.essential.universal.UMinecraft; +import java.util.List; + public abstract class TextHud extends BasicHud { + private transient int width = 100; + private transient int height; public TextHud(boolean enabled, int x, int y) { super(enabled, x, y); } @Override public int getWidth(float scale) { - return (int) (UMinecraft.getFontRenderer().getStringWidth(getText()) * scale); + return (int) (width * scale); } @Override public int getHeight(float scale) { - return (int) (9 * scale); + return (int) (height * scale); } @Override public void draw(int x, int y, float scale) { - RenderManager.drawScaledString(getText(), x, y, 0xffffff, false, scale); + int textY = y; + for (String line : getLines()) { + RenderManager.drawScaledString(line, x, textY, 0xffffff, false, scale); + width = Math.max(width, UMinecraft.getFontRenderer().getStringWidth(line)); + textY += 12 * scale; + } + height = (int) ((textY - y) / scale); } - public abstract String getText(); + public abstract List<String> getLines(); } |