From 0f4b346318d390751a7ce95c372689fe851a1d9c Mon Sep 17 00:00:00 2001 From: Arslaan Pathan Date: Sat, 4 Oct 2025 22:04:05 +1300 Subject: more modules and bug fixes --- .../arslaansmagichax/modules/ModuleManager.java | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java') diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java index 2cea608..5a69e0b 100644 --- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java +++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java @@ -1,10 +1,20 @@ package net.justlearning.arslaan3102.arslaansmagichax.modules; +import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.font.TextRenderer; +import net.minecraft.client.gui.DrawContext; +import net.minecraft.client.render.RenderTickCounter; +import net.minecraft.text.Text; +import net.minecraft.util.math.MathHelper; + import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; public class ModuleManager { + private boolean hudRegistered = false; + private static List modules = new ArrayList<>(); public static ModuleManager INSTANCE = new ModuleManager(); public void register(Module module) { @@ -24,4 +34,30 @@ public class ModuleManager { module.tick(); } } + + public void registerHUD() { + if (!hudRegistered) { + HudRenderCallback.EVENT.register(this::onRenderHud); + hudRegistered = true; + } + } + + private void onRenderHud(DrawContext drawContext, RenderTickCounter renderTickCounter) { + TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer; + float alpha = 1.0F; + int i = MathHelper.ceil(alpha * 255.0F) << 24; // I don't know what this dark magic is but it works + int x = 5; + int y = 5; + + int titleColor = 16568909 | i; // weird magic + + drawContext.drawTextWithBackground(textRenderer, Text.literal("Arslaan's Magic Hax"), x, y, 50, titleColor); + y += textRenderer.fontHeight + 2; + + for (Module module : ModuleManager.getEnabledModules()) { + int color = 16777215 | i; // more magic I don't understand + drawContext.drawTextWithShadow(textRenderer, Text.literal(module.getName()), x, y, color); + y += textRenderer.fontHeight + 2; + } + } } -- cgit v1.2.3