totem counter and armor on hud

This commit is contained in:
kawaiizenbo 2024-09-09 12:30:56 -07:00
parent 206d076fbb
commit a055d56084
4 changed files with 75 additions and 2 deletions

View file

@ -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;

View file

@ -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)
);
}

View file

@ -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;
}
}
}

View file

@ -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);
}
}