From d0f7265b0d266c6bf3b2986ea320e3efc9a3be65 Mon Sep 17 00:00:00 2001 From: MachieCodes Date: Tue, 31 Dec 2024 21:00:14 -0600 Subject: [PATCH] Show HUD In Editor Adds a setting to always show the minecraft hud when using the meteor hud editor --- .../meteorclient/MeteorClient.java | 5 +++++ .../meteorclient/gui/GuiTheme.java | 2 ++ .../gui/themes/meteor/MeteorGuiTheme.java | 13 +++++++++++++ 3 files changed, 20 insertions(+) diff --git a/src/main/java/meteordevelopment/meteorclient/MeteorClient.java b/src/main/java/meteordevelopment/meteorclient/MeteorClient.java index e6704a22d0..306a7772e8 100644 --- a/src/main/java/meteordevelopment/meteorclient/MeteorClient.java +++ b/src/main/java/meteordevelopment/meteorclient/MeteorClient.java @@ -16,6 +16,7 @@ import meteordevelopment.meteorclient.gui.tabs.Tabs; import meteordevelopment.meteorclient.systems.Systems; import meteordevelopment.meteorclient.systems.config.Config; +import meteordevelopment.meteorclient.systems.hud.screens.HudEditorScreen; import meteordevelopment.meteorclient.systems.modules.Categories; import meteordevelopment.meteorclient.systems.modules.Modules; import meteordevelopment.meteorclient.systems.modules.misc.DiscordPresence; @@ -182,6 +183,10 @@ private void onOpenScreen(OpenScreenEvent event) { } wasWidgetScreen = event.screen instanceof WidgetScreen; + + if (!GuiThemes.get().showHUDInEditor()) return; + if (!(event.screen instanceof HudEditorScreen)) return; + mc.options.hudHidden = false; } public static Identifier identifier(String path) { diff --git a/src/main/java/meteordevelopment/meteorclient/gui/GuiTheme.java b/src/main/java/meteordevelopment/meteorclient/gui/GuiTheme.java index 14d3678c12..5e9a026b50 100644 --- a/src/main/java/meteordevelopment/meteorclient/gui/GuiTheme.java +++ b/src/main/java/meteordevelopment/meteorclient/gui/GuiTheme.java @@ -269,6 +269,8 @@ public WidgetScreen proxiesScreen() { public abstract boolean hideHUD(); + public abstract boolean showHUDInEditor(); + public double textWidth(String text, int length, boolean title) { return scale(textRenderer().getWidth(text, length, false) * (title ? TITLE_TEXT_SCALE : 1)); } diff --git a/src/main/java/meteordevelopment/meteorclient/gui/themes/meteor/MeteorGuiTheme.java b/src/main/java/meteordevelopment/meteorclient/gui/themes/meteor/MeteorGuiTheme.java index c59f195631..520e85da3b 100644 --- a/src/main/java/meteordevelopment/meteorclient/gui/themes/meteor/MeteorGuiTheme.java +++ b/src/main/java/meteordevelopment/meteorclient/gui/themes/meteor/MeteorGuiTheme.java @@ -84,6 +84,14 @@ public class MeteorGuiTheme extends GuiTheme { .build() ); + public final Setting showInEditor = sgGeneral.add(new BoolSetting.Builder() + .name("show-in-editor") + .description("Show the HUD when using the Meteor HUD editor.") + .defaultValue(false) + .visible(hideHUD::get) + .build() + ); + // Colors public final Setting accentColor = color("accent", "Main color of the GUI.", new SettingColor(145, 61, 226)); @@ -377,6 +385,11 @@ public boolean hideHUD() { return hideHUD.get(); } + @Override + public boolean showHUDInEditor() { + return showInEditor.get(); + } + public class ThreeStateColorSetting { private final Setting normal, hovered, pressed;