start of hud rework
This commit is contained in:
parent
a3e7e885ac
commit
9ab102a648
12 changed files with 98 additions and 91 deletions
|
@ -26,8 +26,6 @@ public class Moonlight implements ModInitializer
|
||||||
public static final String clientTag = ColorUtils.aqua + "Moonlight Meadows";
|
public static final String clientTag = ColorUtils.aqua + "Moonlight Meadows";
|
||||||
public static final String versionTag = ColorUtils.magenta + "v0.3.0";
|
public static final String versionTag = ColorUtils.magenta + "v0.3.0";
|
||||||
public static Config CONFIG = new Config();
|
public static Config CONFIG = new Config();
|
||||||
public static int uiColorA = 0xFF55FFFF;
|
|
||||||
public static int uiColor = 0x55FFFF;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onInitialize()
|
public void onInitialize()
|
||||||
|
|
|
@ -6,7 +6,8 @@ import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
|
|
||||||
import me.kawaiizenbo.moonlight.module.ModuleManager;
|
import me.kawaiizenbo.moonlight.module.ModuleManager;
|
||||||
import me.kawaiizenbo.moonlight.ui.HUDOverlay;
|
import me.kawaiizenbo.moonlight.module.modules.HUDEnabler;
|
||||||
|
import me.kawaiizenbo.moonlight.ui.LegacyHUD;
|
||||||
import me.kawaiizenbo.moonlight.ui.ModulesListOverlay;
|
import me.kawaiizenbo.moonlight.ui.ModulesListOverlay;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.gui.hud.InGameHud;
|
import net.minecraft.client.gui.hud.InGameHud;
|
||||||
|
@ -18,7 +19,12 @@ public class InGameHudMixin {
|
||||||
@Inject(at = @At("TAIL"), method = "render")
|
@Inject(at = @At("TAIL"), method = "render")
|
||||||
public void onRender (DrawContext drawContext, RenderTickCounter tickCounter, CallbackInfo info)
|
public void onRender (DrawContext drawContext, RenderTickCounter tickCounter, CallbackInfo info)
|
||||||
{
|
{
|
||||||
if (ModuleManager.INSTANCE.getModuleByName("HUD").enabled) HUDOverlay.INSTANCE.render(drawContext, drawContext.getScaledWindowWidth(), drawContext.getScaledWindowHeight());
|
HUDEnabler hudModule = (HUDEnabler)ModuleManager.INSTANCE.getModuleByName("HUD");
|
||||||
|
if (hudModule.enabled)
|
||||||
|
{
|
||||||
|
if (hudModule.legacyHud.value) LegacyHUD.INSTANCE.render(drawContext, drawContext.getScaledWindowWidth(), drawContext.getScaledWindowHeight());
|
||||||
|
// wip
|
||||||
|
}
|
||||||
if (ModuleManager.INSTANCE.getModuleByName("ModulesList").enabled) ModulesListOverlay.INSTANCE.render(drawContext, drawContext.getScaledWindowWidth(), drawContext.getScaledWindowHeight());
|
if (ModuleManager.INSTANCE.getModuleByName("ModulesList").enabled) ModulesListOverlay.INSTANCE.render(drawContext, drawContext.getScaledWindowWidth(), drawContext.getScaledWindowHeight());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ public abstract class Module
|
||||||
public Category category;
|
public Category category;
|
||||||
public boolean enabled;
|
public boolean enabled;
|
||||||
public ArrayList<Setting> settings;
|
public ArrayList<Setting> settings;
|
||||||
|
public boolean showEditButton;
|
||||||
|
|
||||||
public BooleanSetting showInModulesList = new BooleanSetting("Show in Modules List", true);
|
public BooleanSetting showInModulesList = new BooleanSetting("Show in Modules List", true);
|
||||||
public KeycodeSetting keybind = new KeycodeSetting("Keybind", 0);
|
public KeycodeSetting keybind = new KeycodeSetting("Keybind", 0);
|
||||||
|
|
|
@ -14,7 +14,7 @@ public class ModuleManager
|
||||||
registerModules(
|
registerModules(
|
||||||
new Fly(),
|
new Fly(),
|
||||||
new NoFall(),
|
new NoFall(),
|
||||||
new HUDModule(),
|
new HUDEnabler(),
|
||||||
new Step(),
|
new Step(),
|
||||||
new Fullbright(),
|
new Fullbright(),
|
||||||
new Speed(),
|
new Speed(),
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
package me.kawaiizenbo.moonlight.module.modules;
|
||||||
|
|
||||||
|
import me.kawaiizenbo.moonlight.module.Category;
|
||||||
|
import me.kawaiizenbo.moonlight.module.Module;
|
||||||
|
import me.kawaiizenbo.moonlight.module.settings.BooleanSetting;
|
||||||
|
|
||||||
|
public class HUDEnabler extends Module
|
||||||
|
{
|
||||||
|
public BooleanSetting legacyHud = new BooleanSetting("Legacy HUD", true);
|
||||||
|
|
||||||
|
public HUDEnabler()
|
||||||
|
{
|
||||||
|
super("HUD", "The Moonlight HUD.", Category.RENDER);
|
||||||
|
this.enabled = true;
|
||||||
|
this.showInModulesList.value = false;
|
||||||
|
this.showEditButton = true;
|
||||||
|
settings.add(legacyHud);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,51 +0,0 @@
|
||||||
package me.kawaiizenbo.moonlight.module.modules;
|
|
||||||
|
|
||||||
import me.kawaiizenbo.moonlight.Moonlight;
|
|
||||||
import me.kawaiizenbo.moonlight.module.Category;
|
|
||||||
import me.kawaiizenbo.moonlight.module.Module;
|
|
||||||
import me.kawaiizenbo.moonlight.module.settings.BooleanSetting;
|
|
||||||
import me.kawaiizenbo.moonlight.module.settings.DoubleSetting;
|
|
||||||
import me.kawaiizenbo.moonlight.ui.HUDOverlay;
|
|
||||||
import me.kawaiizenbo.moonlight.util.ColorUtils;
|
|
||||||
|
|
||||||
public class HUDModule extends Module
|
|
||||||
{
|
|
||||||
public BooleanSetting clientTag = new BooleanSetting("Client Tag", true);
|
|
||||||
public DoubleSetting r = new DoubleSetting("Red", 0x55, 0, 255, 0);
|
|
||||||
public DoubleSetting g = new DoubleSetting("Green", 255, 0, 255, 0);
|
|
||||||
public DoubleSetting b = new DoubleSetting("Blue", 255, 0, 255, 0);
|
|
||||||
//public ColorSetting color = new ColorSetting("Color", 0x55FFFF, ReflectionUtils.tryGetMethod("updateHUD", getClass()));
|
|
||||||
|
|
||||||
public HUDModule()
|
|
||||||
{
|
|
||||||
super("HUD", "The Moonlight HUD. Toggle to update.", Category.RENDER);
|
|
||||||
this.enabled = true;
|
|
||||||
this.showInModulesList.value = false;
|
|
||||||
|
|
||||||
settings.add(clientTag);
|
|
||||||
settings.add(r);
|
|
||||||
settings.add(g);
|
|
||||||
settings.add(b);
|
|
||||||
//settings.add(color);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onEnable()
|
|
||||||
{
|
|
||||||
super.onEnable();
|
|
||||||
HUDOverlay.INSTANCE.showClientTag = clientTag.value;
|
|
||||||
Moonlight.uiColorA =
|
|
||||||
ColorUtils.rgbaToInt(
|
|
||||||
(int)r.value,
|
|
||||||
(int)g.value,
|
|
||||||
(int)b.value,
|
|
||||||
255
|
|
||||||
);
|
|
||||||
Moonlight.uiColor =
|
|
||||||
ColorUtils.rgbToInt(
|
|
||||||
(int)r.value,
|
|
||||||
(int)g.value,
|
|
||||||
(int)b.value
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,8 +1,6 @@
|
||||||
package me.kawaiizenbo.moonlight.ui;
|
package me.kawaiizenbo.moonlight.ui;
|
||||||
|
|
||||||
import me.kawaiizenbo.moonlight.Moonlight;
|
import me.kawaiizenbo.moonlight.Moonlight;
|
||||||
import me.kawaiizenbo.moonlight.module.ModuleManager;
|
|
||||||
import me.kawaiizenbo.moonlight.module.modules.HUDModule;
|
|
||||||
import me.kawaiizenbo.moonlight.util.ColorUtils;
|
import me.kawaiizenbo.moonlight.util.ColorUtils;
|
||||||
import me.kawaiizenbo.moonlight.util.MathUtils;
|
import me.kawaiizenbo.moonlight.util.MathUtils;
|
||||||
|
|
||||||
|
@ -10,40 +8,32 @@ import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.util.math.Vec3d;
|
import net.minecraft.util.math.Vec3d;
|
||||||
|
|
||||||
public class HUDOverlay
|
public class LegacyHUD
|
||||||
{
|
{
|
||||||
public static HUDOverlay INSTANCE = new HUDOverlay();
|
// This is deprecated and will be removed in a later version
|
||||||
|
public static LegacyHUD INSTANCE = new LegacyHUD();
|
||||||
private MinecraftClient mc = MinecraftClient.getInstance();
|
private MinecraftClient mc = MinecraftClient.getInstance();
|
||||||
public boolean showClientTag = ((HUDModule)ModuleManager.INSTANCE.getModuleByName("HUD")).clientTag.value;
|
|
||||||
public int hudColor = ColorUtils.rgbaToInt(
|
|
||||||
(int)((HUDModule)ModuleManager.INSTANCE.getModuleByName("HUD")).r.value,
|
|
||||||
(int)((HUDModule)ModuleManager.INSTANCE.getModuleByName("HUD")).g.value,
|
|
||||||
(int)((HUDModule)ModuleManager.INSTANCE.getModuleByName("HUD")).b.value,
|
|
||||||
255 );
|
|
||||||
|
|
||||||
public void render(DrawContext drawContext, int scaledWidth, int scaledHeight)
|
public void render(DrawContext drawContext, int scaledWidth, int scaledHeight)
|
||||||
{
|
{
|
||||||
// do not draw if F3 enabled
|
// do not draw if F3 enabled
|
||||||
if (mc.getDebugHud().shouldShowDebugHud()) return;
|
if (mc.getDebugHud().shouldShowDebugHud()) return;
|
||||||
|
|
||||||
// draw stats
|
// draw stats
|
||||||
drawContext.drawTextWithShadow(mc.textRenderer, "FPS: " + ColorUtils.gray + mc.fpsDebugString.split(" ")[0], 2, 2, Moonlight.uiColorA);
|
drawContext.drawTextWithShadow(mc.textRenderer, "FPS: " + ColorUtils.gray + mc.fpsDebugString.split(" ")[0], 2, 2, 0xFF55FFFF);
|
||||||
drawContext.drawTextWithShadow(mc.textRenderer, "Ping: " + ColorUtils.gray + (mc.getNetworkHandler().getPlayerListEntry(mc.player.getUuid()) == null ? 0 : mc.getNetworkHandler().getPlayerListEntry(mc.player.getUuid()).getLatency()), 2, 12, Moonlight.uiColorA);
|
drawContext.drawTextWithShadow(mc.textRenderer, "Ping: " + ColorUtils.gray + (mc.getNetworkHandler().getPlayerListEntry(mc.player.getUuid()) == null ? 0 : mc.getNetworkHandler().getPlayerListEntry(mc.player.getUuid()).getLatency()), 2, 12, 0xFF55FFFF);
|
||||||
drawContext.drawTextWithShadow(mc.textRenderer, "Meters/s: " + ColorUtils.gray + MathUtils.round(moveSpeed(), 2), 2, scaledHeight - 20, Moonlight.uiColorA);
|
drawContext.drawTextWithShadow(mc.textRenderer, "Meters/s: " + ColorUtils.gray + MathUtils.round(moveSpeed(), 2), 2, scaledHeight - 20, 0xFF55FFFF);
|
||||||
|
|
||||||
// draw coordinates
|
// draw coordinates
|
||||||
drawContext.drawTextWithShadow(mc.textRenderer,
|
drawContext.drawTextWithShadow(mc.textRenderer,
|
||||||
"X: " + ColorUtils.gray + String.format("%.1f", mc.player.getX()) + ColorUtils.reset +
|
"X: " + ColorUtils.gray + String.format("%.1f", mc.player.getX()) + ColorUtils.reset +
|
||||||
" Y: " + ColorUtils.gray + String.format("%.1f", mc.player.getY()) + ColorUtils.reset +
|
" Y: " + ColorUtils.gray + String.format("%.1f", mc.player.getY()) + ColorUtils.reset +
|
||||||
" Z: " + ColorUtils.gray + String.format("%.1f", mc.player.getZ()), 2, scaledHeight - 10, Moonlight.uiColorA
|
" Z: " + ColorUtils.gray + String.format("%.1f", mc.player.getZ()), 2, scaledHeight - 10, 0xFF55FFFF
|
||||||
);
|
);
|
||||||
|
|
||||||
// draw client tag (if enabled)
|
// draw client tag
|
||||||
if (showClientTag)
|
drawContext.drawTextWithShadow(mc.textRenderer, Moonlight.clientTag + " " + Moonlight.versionTag,
|
||||||
{
|
scaledWidth - mc.textRenderer.getWidth(Moonlight.clientTag + " " + Moonlight.versionTag) - 2, scaledHeight - 10, 16777215);
|
||||||
drawContext.drawTextWithShadow(mc.textRenderer, Moonlight.clientTag + " " + Moonlight.versionTag,
|
|
||||||
scaledWidth - mc.textRenderer.getWidth(Moonlight.clientTag + " " + Moonlight.versionTag) - 2, scaledHeight - 10, 16777215);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private double moveSpeed()
|
private double moveSpeed()
|
|
@ -2,7 +2,6 @@ package me.kawaiizenbo.moonlight.ui;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import me.kawaiizenbo.moonlight.Moonlight;
|
|
||||||
import me.kawaiizenbo.moonlight.module.ModuleManager;
|
import me.kawaiizenbo.moonlight.module.ModuleManager;
|
||||||
import me.kawaiizenbo.moonlight.module.Module;
|
import me.kawaiizenbo.moonlight.module.Module;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
@ -26,7 +25,7 @@ public class ModulesListOverlay
|
||||||
if (!m.showInModulesList.value) continue;
|
if (!m.showInModulesList.value) continue;
|
||||||
int nameWidth = mc.textRenderer.getWidth(m.name);
|
int nameWidth = mc.textRenderer.getWidth(m.name);
|
||||||
drawContext.fill(scaledWidth - nameWidth - 8, yOffset, scaledWidth, yOffset+12, 0x77222222);
|
drawContext.fill(scaledWidth - nameWidth - 8, yOffset, scaledWidth, yOffset+12, 0x77222222);
|
||||||
drawContext.fill(scaledWidth - 2, yOffset, scaledWidth, yOffset+12, Moonlight.uiColorA);
|
drawContext.fill(scaledWidth - 2, yOffset, scaledWidth, yOffset+12, 0xFF55FFFF);
|
||||||
drawContext.drawText(mc.textRenderer, m.name, scaledWidth - nameWidth - 4, yOffset + 2, 0xFFFFFFFF, false);
|
drawContext.drawText(mc.textRenderer, m.name, scaledWidth - nameWidth - 4, yOffset + 2, 0xFFFFFFFF, false);
|
||||||
yOffset += 12;
|
yOffset += 12;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,26 +1,30 @@
|
||||||
package me.kawaiizenbo.moonlight.ui;
|
package me.kawaiizenbo.moonlight.ui;
|
||||||
|
|
||||||
import me.kawaiizenbo.moonlight.ui.clickgui.ClickGUIScreen;
|
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.font.TextRenderer;
|
import net.minecraft.client.font.TextRenderer;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
|
|
||||||
public class TextButton
|
public class SetScreenButton
|
||||||
{
|
{
|
||||||
String text;
|
String text;
|
||||||
|
Screen screen;
|
||||||
int x, y, color, width;
|
int x, y, color, width;
|
||||||
|
|
||||||
public TextButton(String text, int x, int y, int color)
|
public SetScreenButton(String text, int x, int y, int color, Screen screen)
|
||||||
{
|
{
|
||||||
this.text = text;
|
this.text = text;
|
||||||
this.x = x;
|
this.x = x;
|
||||||
this.y = y;
|
this.y = y;
|
||||||
this.color = color;
|
this.color = color;
|
||||||
|
this.screen = screen;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void render(DrawContext drawContext, TextRenderer textRenderer, int mouseX, int mouseY)
|
public void render(DrawContext drawContext, TextRenderer textRenderer, int mouseX, int mouseY, int x, int y)
|
||||||
{
|
{
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
width = textRenderer.getWidth(text);
|
width = textRenderer.getWidth(text);
|
||||||
drawContext.fill(x-1, y-1, x + width + 1, y + 10, hovered(mouseX, mouseY) ? 0x55FFFFFF : 0);
|
drawContext.fill(x-1, y-1, x + width + 1, y + 10, hovered(mouseX, mouseY) ? 0x55FFFFFF : 0);
|
||||||
drawContext.drawText(textRenderer, Text.literal(text), x, y, color, true);
|
drawContext.drawText(textRenderer, Text.literal(text), x, y, color, true);
|
||||||
|
@ -35,8 +39,7 @@ public class TextButton
|
||||||
{
|
{
|
||||||
if (hovered(mouseX, mouseY))
|
if (hovered(mouseX, mouseY))
|
||||||
{
|
{
|
||||||
// i have no clue how to pass a method so this is kind of stupid
|
MinecraftClient.getInstance().setScreen(screen);
|
||||||
MinecraftClient.getInstance().setScreen(ClickGUIScreen.INSTANCE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,6 +1,5 @@
|
||||||
package me.kawaiizenbo.moonlight.ui.clickgui;
|
package me.kawaiizenbo.moonlight.ui.clickgui;
|
||||||
|
|
||||||
import me.kawaiizenbo.moonlight.Moonlight;
|
|
||||||
import me.kawaiizenbo.moonlight.module.Module;
|
import me.kawaiizenbo.moonlight.module.Module;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.font.TextRenderer;
|
import net.minecraft.client.font.TextRenderer;
|
||||||
|
@ -23,7 +22,7 @@ public class ModuleButton
|
||||||
this.x = x;
|
this.x = x;
|
||||||
this.y = y;
|
this.y = y;
|
||||||
drawContext.fill(x, y, x + width, y + height, hovered(mouseX, mouseY) ? 0xFF333333 : 0xFF222222);
|
drawContext.fill(x, y, x + width, y + height, hovered(mouseX, mouseY) ? 0xFF333333 : 0xFF222222);
|
||||||
drawContext.drawText(textRenderer, module.name, x+2, y+2, module.enabled ? Moonlight.uiColor : 0xFFFFFF, false);
|
drawContext.drawText(textRenderer, module.name, x+2, y+2, module.enabled ? 0x55FFFF : 0xFFFFFF, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean hovered(int mouseX, int mouseY)
|
public boolean hovered(int mouseX, int mouseY)
|
||||||
|
|
|
@ -2,7 +2,8 @@ package me.kawaiizenbo.moonlight.ui.clickgui;
|
||||||
|
|
||||||
import me.kawaiizenbo.moonlight.module.Module;
|
import me.kawaiizenbo.moonlight.module.Module;
|
||||||
import me.kawaiizenbo.moonlight.module.settings.Setting;
|
import me.kawaiizenbo.moonlight.module.settings.Setting;
|
||||||
import me.kawaiizenbo.moonlight.ui.TextButton;
|
import me.kawaiizenbo.moonlight.ui.SetScreenButton;
|
||||||
|
import me.kawaiizenbo.moonlight.ui.hud.HUDEditorScreen;
|
||||||
import me.kawaiizenbo.moonlight.util.ColorUtils;
|
import me.kawaiizenbo.moonlight.util.ColorUtils;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
|
@ -11,7 +12,8 @@ import net.minecraft.text.Text;
|
||||||
public class SettingsScreen extends Screen
|
public class SettingsScreen extends Screen
|
||||||
{
|
{
|
||||||
private Module module;
|
private Module module;
|
||||||
private TextButton backButton;
|
private SetScreenButton backButton;
|
||||||
|
private SetScreenButton editButton;
|
||||||
|
|
||||||
boolean dragging = false;
|
boolean dragging = false;
|
||||||
int startX, startY, x = (ClickGUIScreen.INSTANCE.width/2)-112, y = (ClickGUIScreen.INSTANCE.height/2)-96, windowWidth = 224, windowHeight = 192;
|
int startX, startY, x = (ClickGUIScreen.INSTANCE.width/2)-112, y = (ClickGUIScreen.INSTANCE.height/2)-96, windowWidth = 224, windowHeight = 192;
|
||||||
|
@ -19,6 +21,8 @@ public class SettingsScreen extends Screen
|
||||||
public SettingsScreen(Module module)
|
public SettingsScreen(Module module)
|
||||||
{
|
{
|
||||||
super(Text.literal("Settings"));
|
super(Text.literal("Settings"));
|
||||||
|
backButton = new SetScreenButton(ColorUtils.underline + "< Back", x+4, y+4, 0xFFFFFF, ClickGUIScreen.INSTANCE);
|
||||||
|
editButton = new SetScreenButton(ColorUtils.underline + "Edit", x+windowWidth-22, y+4, 0xFFFFFF, HUDEditorScreen.INSTANCE);
|
||||||
this.module = module;
|
this.module = module;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,8 +42,8 @@ public class SettingsScreen extends Screen
|
||||||
drawContext.fill(x+2, y+2, x+(windowWidth-2), y+14, 0xFF222222);
|
drawContext.fill(x+2, y+2, x+(windowWidth-2), y+14, 0xFF222222);
|
||||||
drawContext.drawCenteredTextWithShadow(textRenderer, module.name, x+(windowWidth/2), y+4, 0xFFFFFF);
|
drawContext.drawCenteredTextWithShadow(textRenderer, module.name, x+(windowWidth/2), y+4, 0xFFFFFF);
|
||||||
drawContext.drawText(textRenderer, module.description, x+8, y+24, 0xFFFFFF, true);
|
drawContext.drawText(textRenderer, module.description, x+8, y+24, 0xFFFFFF, true);
|
||||||
backButton = new TextButton(ColorUtils.underline + "< Back", x+4, y+4, 0xFFFFFF);
|
backButton.render(drawContext, textRenderer, mouseX, mouseY, x+4, y+4);
|
||||||
backButton.render(drawContext, textRenderer, mouseX, mouseY);
|
if (module.showEditButton) editButton.render(drawContext, textRenderer, mouseX, mouseY, x+windowWidth-22, y+4);
|
||||||
int yOffset = y+40;
|
int yOffset = y+40;
|
||||||
for (Setting setting : module.settings)
|
for (Setting setting : module.settings)
|
||||||
{
|
{
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
package me.kawaiizenbo.moonlight.ui.hud;
|
||||||
|
|
||||||
|
import net.minecraft.client.gui.DrawContext;
|
||||||
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
|
import net.minecraft.text.Text;
|
||||||
|
|
||||||
|
public class HUDEditorScreen extends Screen
|
||||||
|
{
|
||||||
|
public static HUDEditorScreen INSTANCE = new HUDEditorScreen();
|
||||||
|
|
||||||
|
public HUDEditorScreen()
|
||||||
|
{
|
||||||
|
super(Text.literal("HUD Editor"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render(DrawContext drawContext, int mouseX, int mouseY, float delta)
|
||||||
|
{
|
||||||
|
this.renderBackground(drawContext, mouseX, mouseY, delta);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean mouseClicked(double mouseX, double mouseY, int button)
|
||||||
|
{
|
||||||
|
return super.mouseClicked(mouseX, mouseY, button);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean mouseReleased(double mouseX, double mouseY, int button)
|
||||||
|
{
|
||||||
|
return super.mouseReleased(mouseX, mouseY, button);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean shouldPause()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue