v0.3.0 #1
11 changed files with 165 additions and 11 deletions
|
@ -10,6 +10,8 @@ import net.minecraft.client.gui.DrawContext;
|
|||
|
||||
public class ModulesListOverlay
|
||||
{
|
||||
// this will be replaced with a new hud version at some point
|
||||
|
||||
public static ModulesListOverlay INSTANCE = new ModulesListOverlay();
|
||||
private MinecraftClient mc = MinecraftClient.getInstance();
|
||||
private ArrayList<Module> enabledModules = ModuleManager.INSTANCE.getEnabledModules();
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package me.kawaiizenbo.moonlight.ui.hud;
|
||||
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
|
||||
|
@ -9,6 +10,9 @@ public class HUDModule
|
|||
public String name;
|
||||
int startX, startY;
|
||||
boolean dragging = false;
|
||||
public boolean enabled = false;
|
||||
|
||||
protected static MinecraftClient mc = MinecraftClient.getInstance();
|
||||
|
||||
public HUDModule(String name, int x, int y)
|
||||
{
|
||||
|
@ -17,7 +21,7 @@ public class HUDModule
|
|||
this.y = y;
|
||||
}
|
||||
|
||||
public void render(DrawContext drawContext, int mouseX, int mouseY, TextRenderer textRenderer, boolean editMode)
|
||||
public void render(DrawContext drawContext, int mouseX, int mouseY, TextRenderer textRenderer, boolean editMode, boolean enabled)
|
||||
{
|
||||
if (editMode)
|
||||
{
|
||||
|
@ -26,7 +30,7 @@ public class HUDModule
|
|||
x = mouseX - startX;
|
||||
y = mouseY - startY;
|
||||
}
|
||||
drawContext.fill(x-1, y-1, x+width+1, y+height+1, 0xFF55FFFF);
|
||||
drawContext.fill(x-1, y-1, x+width+1, y+height+1, enabled ? 0xFF55FFFF : 0xFF555555);
|
||||
drawContext.fill(x, y, x+width, y+height, 0xFF222222);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ package me.kawaiizenbo.moonlight.ui.hud;
|
|||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import me.kawaiizenbo.moonlight.ui.hud.modules.TestModuleHUD;
|
||||
import me.kawaiizenbo.moonlight.ui.hud.modules.*;
|
||||
|
||||
public class HUDModuleManager
|
||||
{
|
||||
|
@ -12,7 +12,11 @@ public class HUDModuleManager
|
|||
public HUDModuleManager()
|
||||
{
|
||||
registerModules(
|
||||
new TestModuleHUD(0, 0)
|
||||
new ClientTag(2, 2),
|
||||
new FPS(2, 12),
|
||||
new Ping(2, 22),
|
||||
new MovementSpeed(2, 32),
|
||||
new Coordinates(2, 42)
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -34,4 +38,16 @@ public class HUDModuleManager
|
|||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public ArrayList<HUDModule> getEnabledModules()
|
||||
{
|
||||
ArrayList<HUDModule> enabledModules = new ArrayList<>();
|
||||
for (HUDModule module : modules)
|
||||
{
|
||||
if (!module.enabled)
|
||||
continue;
|
||||
enabledModules.add(module);
|
||||
}
|
||||
return enabledModules;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,10 +13,10 @@ public class HUDRenderer
|
|||
// do not draw if F3 enabled
|
||||
if (mc.getDebugHud().shouldShowDebugHud()) return;
|
||||
|
||||
for (HUDModule h : HUDModuleManager.INSTANCE.modules)
|
||||
for (HUDModule h : HUDModuleManager.INSTANCE.getEnabledModules())
|
||||
{
|
||||
// mouse coords are not needed when not in edit mode
|
||||
h.render(drawContext, 0, 0, mc.textRenderer, false);
|
||||
h.render(drawContext, 0, 0, mc.textRenderer, false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ public class HUDEditorScreen extends Screen
|
|||
this.renderBackground(drawContext, mouseX, mouseY, delta);
|
||||
for (HUDModule h : HUDModuleManager.INSTANCE.modules)
|
||||
{
|
||||
h.render(drawContext, mouseX, mouseY, textRenderer, true);
|
||||
h.render(drawContext, mouseX, mouseY, textRenderer, true, h.enabled);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
package me.kawaiizenbo.moonlight.ui.hud.modules;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import me.kawaiizenbo.moonlight.ui.hud.HUDModule;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
|
||||
public class ClientTag extends HUDModule
|
||||
{
|
||||
public ClientTag(int x, int y)
|
||||
{
|
||||
super("Client Tag", x, y);
|
||||
this.width = 128;
|
||||
this.height = 8;
|
||||
this.enabled = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(DrawContext drawContext, int mouseX, int mouseY, TextRenderer textRenderer, boolean editMode, boolean enabled)
|
||||
{
|
||||
super.render(drawContext, mouseX, mouseY, textRenderer, editMode, enabled);
|
||||
drawContext.drawTextWithShadow(mc.textRenderer, Moonlight.clientTag + " " + Moonlight.versionTag, x, y, 16777215);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package me.kawaiizenbo.moonlight.ui.hud.modules;
|
||||
|
||||
import me.kawaiizenbo.moonlight.ui.hud.HUDModule;
|
||||
import me.kawaiizenbo.moonlight.util.ColorUtils;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
|
||||
public class Coordinates extends HUDModule
|
||||
{
|
||||
public Coordinates(int x, int y)
|
||||
{
|
||||
super("Coordinates", x, y);
|
||||
this.width = 128;
|
||||
this.height = 8;
|
||||
this.enabled = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(DrawContext drawContext, int mouseX, int mouseY, TextRenderer textRenderer, boolean editMode, boolean enabled)
|
||||
{
|
||||
super.render(drawContext, mouseX, mouseY, textRenderer, editMode, enabled);
|
||||
drawContext.drawTextWithShadow(mc.textRenderer,
|
||||
"X: " + ColorUtils.gray + String.format("%.1f", mc.player.getX()) + ColorUtils.reset +
|
||||
" Y: " + ColorUtils.gray + String.format("%.1f", mc.player.getY()) + ColorUtils.reset +
|
||||
" Z: " + ColorUtils.gray + String.format("%.1f", mc.player.getZ()), x, y, 0xFF55FFFF
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package me.kawaiizenbo.moonlight.ui.hud.modules;
|
||||
|
||||
import me.kawaiizenbo.moonlight.ui.hud.HUDModule;
|
||||
import me.kawaiizenbo.moonlight.util.ColorUtils;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
|
||||
public class FPS extends HUDModule
|
||||
{
|
||||
public FPS(int x, int y)
|
||||
{
|
||||
super("FPS", x, y);
|
||||
this.width = 48;
|
||||
this.height = 8;
|
||||
this.enabled = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(DrawContext drawContext, int mouseX, int mouseY, TextRenderer textRenderer, boolean editMode, boolean enabled)
|
||||
{
|
||||
super.render(drawContext, mouseX, mouseY, textRenderer, editMode, enabled);
|
||||
drawContext.drawTextWithShadow(mc.textRenderer, "FPS: " + ColorUtils.gray + mc.fpsDebugString.split(" ")[0], x, y, 0xFF55FFFF);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
package me.kawaiizenbo.moonlight.ui.hud.modules;
|
||||
|
||||
import me.kawaiizenbo.moonlight.ui.hud.HUDModule;
|
||||
import me.kawaiizenbo.moonlight.util.ColorUtils;
|
||||
import me.kawaiizenbo.moonlight.util.MathUtils;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
public class MovementSpeed extends HUDModule
|
||||
{
|
||||
public MovementSpeed(int x, int y)
|
||||
{
|
||||
super("Movement Speed", x, y);
|
||||
this.width = 72;
|
||||
this.height = 8;
|
||||
this.enabled = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(DrawContext drawContext, int mouseX, int mouseY, TextRenderer textRenderer, boolean editMode, boolean enabled)
|
||||
{
|
||||
super.render(drawContext, mouseX, mouseY, textRenderer, editMode, enabled);
|
||||
drawContext.drawTextWithShadow(mc.textRenderer, "Meters/s: " + ColorUtils.gray + MathUtils.round(moveSpeed(), 2), x, y, 0xFF55FFFF);
|
||||
}
|
||||
|
||||
private double moveSpeed()
|
||||
{
|
||||
Vec3d move = new Vec3d(mc.player.getX() - mc.player.prevX, 0, mc.player.getZ() - mc.player.prevZ).multiply(20);
|
||||
return Math.abs(MathUtils.length2D(move)) ;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package me.kawaiizenbo.moonlight.ui.hud.modules;
|
||||
|
||||
import me.kawaiizenbo.moonlight.ui.hud.HUDModule;
|
||||
import me.kawaiizenbo.moonlight.util.ColorUtils;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
|
||||
public class Ping extends HUDModule
|
||||
{
|
||||
public Ping(int x, int y)
|
||||
{
|
||||
super("Ping", x, y);
|
||||
this.width = 48;
|
||||
this.height = 8;
|
||||
this.enabled = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(DrawContext drawContext, int mouseX, int mouseY, TextRenderer textRenderer, boolean editMode, boolean enabled)
|
||||
{
|
||||
super.render(drawContext, mouseX, mouseY, textRenderer, editMode, enabled);
|
||||
drawContext.drawTextWithShadow(mc.textRenderer, "Ping: " + ColorUtils.gray + (mc.getNetworkHandler().getPlayerListEntry(mc.player.getUuid()) == null ? 0 : mc.getNetworkHandler().getPlayerListEntry(mc.player.getUuid()).getLatency()), x, y, 0xFF55FFFF);
|
||||
}
|
||||
}
|
|
@ -10,13 +10,13 @@ public class TestModuleHUD extends HUDModule
|
|||
{
|
||||
super("Test HUD Module", x, y);
|
||||
this.width = 96;
|
||||
this.height = 12;
|
||||
this.height = 8;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(DrawContext drawContext, int mouseX, int mouseY, TextRenderer textRenderer, boolean editMode)
|
||||
public void render(DrawContext drawContext, int mouseX, int mouseY, TextRenderer textRenderer, boolean editMode, boolean enabled)
|
||||
{
|
||||
super.render(drawContext, mouseX, mouseY, textRenderer, editMode);
|
||||
drawContext.drawText(textRenderer, "heloooooo", x, y, 0x55FFFF, false);
|
||||
super.render(drawContext, mouseX, mouseY, textRenderer, editMode, enabled);
|
||||
drawContext.drawText(textRenderer, "Text Text Text Test :3", x, y, 0xFFFFFF, false);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue