diff --git a/src/main/java/me/kawaiizenbo/moonlight/ui/hud/HUDModule.java b/src/main/java/me/kawaiizenbo/moonlight/ui/hud/HUDModule.java index e1107c9..edbbe55 100644 --- a/src/main/java/me/kawaiizenbo/moonlight/ui/hud/HUDModule.java +++ b/src/main/java/me/kawaiizenbo/moonlight/ui/hud/HUDModule.java @@ -7,7 +7,7 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawContext; -public class HUDModule +public abstract class HUDModule { public int x, y, height, width; public String name; diff --git a/src/main/java/me/kawaiizenbo/moonlight/ui/hud/HUDModuleManager.java b/src/main/java/me/kawaiizenbo/moonlight/ui/hud/HUDModuleManager.java index 715404c..b2b3dc7 100644 --- a/src/main/java/me/kawaiizenbo/moonlight/ui/hud/HUDModuleManager.java +++ b/src/main/java/me/kawaiizenbo/moonlight/ui/hud/HUDModuleManager.java @@ -16,7 +16,9 @@ public class HUDModuleManager new FPS(2, 12), new Ping(2, 22), new MovementSpeed(2, 32), - new Coordinates(2, 42) + new Coordinates(2, 42), + new ArmorDisplay(2, 52), + new TotemCounter(20, 52) //new TestModuleHUD(20, 50) ); } diff --git a/src/main/java/me/kawaiizenbo/moonlight/ui/hud/modules/ArmorDisplay.java b/src/main/java/me/kawaiizenbo/moonlight/ui/hud/modules/ArmorDisplay.java new file mode 100644 index 0000000..eff197e --- /dev/null +++ b/src/main/java/me/kawaiizenbo/moonlight/ui/hud/modules/ArmorDisplay.java @@ -0,0 +1,35 @@ +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.client.render.item.ItemRenderer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.math.Vec3d; + +public class ArmorDisplay extends HUDModule +{ + + public ArmorDisplay(int x, int y) + { + super("Armor Display", x, y); + this.width = 16; + this.height = 64; + } + + @Override + public void render(DrawContext drawContext, int mouseX, int mouseY, TextRenderer textRenderer, boolean editMode, boolean enabled) + { + super.render(drawContext, mouseX, mouseY, textRenderer, editMode, enabled); + int yOffset = 0; + for (int i = 39; i >= 36; i--) + { + ItemStack piece = mc.player.getInventory().getStack(i); + drawContext.drawItem(piece, x, y+yOffset); + drawContext.drawItemInSlot(textRenderer, piece, x, y+yOffset); + yOffset += 16; + } + } +} diff --git a/src/main/java/me/kawaiizenbo/moonlight/ui/hud/modules/TotemCounter.java b/src/main/java/me/kawaiizenbo/moonlight/ui/hud/modules/TotemCounter.java new file mode 100644 index 0000000..7334683 --- /dev/null +++ b/src/main/java/me/kawaiizenbo/moonlight/ui/hud/modules/TotemCounter.java @@ -0,0 +1,36 @@ +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.client.render.item.ItemRenderer; +import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; +import net.minecraft.util.math.Vec3d; + +public class TotemCounter extends HUDModule +{ + + public TotemCounter(int x, int y) + { + super("Totem Counter", x, y); + this.width = 24; + this.height = 16; + } + + @Override + public void render(DrawContext drawContext, int mouseX, int mouseY, TextRenderer textRenderer, boolean editMode, boolean enabled) + { + super.render(drawContext, mouseX, mouseY, textRenderer, editMode, enabled); + int count = 0; + for (int i = 0; i < 36; i++) + { + ItemStack stack = mc.player.getInventory().getStack(i); + if (stack.getItem() == Items.TOTEM_OF_UNDYING) count += stack.getCount(); + } + drawContext.drawItem(Items.TOTEM_OF_UNDYING.getDefaultStack(), x, y); + drawContext.drawTextWithShadow(textRenderer, count+"", x+16, y+8, 16777215); + } +}