From 05aff3e3d7f3b0483466ee5fdad4a2de7c394668 Mon Sep 17 00:00:00 2001 From: wuritz Date: Sat, 21 Jun 2025 12:23:36 +0200 Subject: [PATCH 1/2] genyo genyo mostmar jobb --- src/main/java/com/genyo/addon/mixin/HudRendererAccessor.java | 4 ++++ src/main/java/com/genyo/addon/utils/HudUtils.java | 4 ++++ 2 files changed, 8 insertions(+) create mode 100644 src/main/java/com/genyo/addon/mixin/HudRendererAccessor.java create mode 100644 src/main/java/com/genyo/addon/utils/HudUtils.java diff --git a/src/main/java/com/genyo/addon/mixin/HudRendererAccessor.java b/src/main/java/com/genyo/addon/mixin/HudRendererAccessor.java new file mode 100644 index 0000000..d348767 --- /dev/null +++ b/src/main/java/com/genyo/addon/mixin/HudRendererAccessor.java @@ -0,0 +1,4 @@ +package com.genyo.addon.mixin; + +public class HudRendererAccessor { +} diff --git a/src/main/java/com/genyo/addon/utils/HudUtils.java b/src/main/java/com/genyo/addon/utils/HudUtils.java new file mode 100644 index 0000000..12dd609 --- /dev/null +++ b/src/main/java/com/genyo/addon/utils/HudUtils.java @@ -0,0 +1,4 @@ +package com.genyo.addon.utils; + +public class HudUtils { +} From b4451d7b8b2fc6854e7bc6e0e5fc90e94a228a1d Mon Sep 17 00:00:00 2001 From: wuritz Date: Sat, 21 Jun 2025 12:25:55 +0200 Subject: [PATCH 2/2] genyo jobb --- src/main/java/com/genyo/addon/GenyoAddon.java | 2 +- .../com/genyo/addon/hud/PvPNeccessaryHud.java | 16 ++++++++-- .../addon/mixin/HudRendererAccessor.java | 11 ++++++- .../java/com/genyo/addon/utils/HudUtils.java | 31 +++++++++++++++++++ src/main/resources/genyo.mixins.json | 3 +- 5 files changed, 57 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/genyo/addon/GenyoAddon.java b/src/main/java/com/genyo/addon/GenyoAddon.java index 89d5f54..a25b875 100644 --- a/src/main/java/com/genyo/addon/GenyoAddon.java +++ b/src/main/java/com/genyo/addon/GenyoAddon.java @@ -13,7 +13,7 @@ public class GenyoAddon extends MeteorAddon { public static final Logger LOG = LogUtils.getLogger(); public static final Category CATEGORY = new Category("Example"); - public static final HudGroup HUD_GROUP = new HudGroup("Example"); + public static final HudGroup HUD_GROUP = new HudGroup("Genyo"); @Override public void onInitialize() { diff --git a/src/main/java/com/genyo/addon/hud/PvPNeccessaryHud.java b/src/main/java/com/genyo/addon/hud/PvPNeccessaryHud.java index 7a5f943..e8bf335 100644 --- a/src/main/java/com/genyo/addon/hud/PvPNeccessaryHud.java +++ b/src/main/java/com/genyo/addon/hud/PvPNeccessaryHud.java @@ -1,6 +1,8 @@ package com.genyo.addon.hud; import com.genyo.addon.GenyoAddon; +import com.genyo.addon.mixin.HudRendererAccessor; +import com.genyo.addon.utils.HudUtils; import meteordevelopment.meteorclient.settings.*; import meteordevelopment.meteorclient.systems.hud.HudElement; import meteordevelopment.meteorclient.systems.hud.HudElementInfo; @@ -94,7 +96,7 @@ private PvPNeccessaryHud() { private void calculateSize() { int offset = items.get().size(); - setSize(21 * getScale() * offset, 17 * getScale()); + setSize(21 * getScale() * offset, 17 * getScale() + 20); } @Override @@ -115,7 +117,8 @@ public void render(HudRenderer renderer) { int scaleOffset = (int) (getScale() * 10); int offset = i+1 != 1 ? i * 50 * scaleOffset / (20 - margin.get()) : 0; - renderer.post(() -> render(renderer, itemStack, x + offset, y)); + //renderer.post(() -> render(renderer, itemStack, x + offset, y)); + ((HudRendererAccessor) renderer).getHudRenderer().post(() -> render(renderer, itemStack, x + offset, y)); } } @@ -131,6 +134,12 @@ private void render(HudRenderer renderer, ItemStack itemStack, int x, int y) { String countOverride = null; boolean resetToZero = false; + countOverride = String.valueOf(itemStack.getCount()); + + if (itemStack.getCount() == 1) { + countOverride = "1"; + } + if (itemStack.isEmpty()) { if (noneMode.get() == NoneMode.ShowCount) countOverride = "0"; @@ -139,7 +148,8 @@ private void render(HudRenderer renderer, ItemStack itemStack, int x, int y) { resetToZero = true; } - renderer.item(itemStack, x, y, getScale(), true, countOverride); + //renderer.item(itemStack, x, y, getScale(), true, countOverride); + HudUtils.drawItem(renderer.drawContext, itemStack, x, y, getScale(), countOverride); if (resetToZero) itemStack.setCount(0); diff --git a/src/main/java/com/genyo/addon/mixin/HudRendererAccessor.java b/src/main/java/com/genyo/addon/mixin/HudRendererAccessor.java index d348767..f72ae9a 100644 --- a/src/main/java/com/genyo/addon/mixin/HudRendererAccessor.java +++ b/src/main/java/com/genyo/addon/mixin/HudRendererAccessor.java @@ -1,4 +1,13 @@ package com.genyo.addon.mixin; -public class HudRendererAccessor { +import meteordevelopment.meteorclient.systems.hud.HudRenderer; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Accessor; + +@Mixin(HudRenderer.class) +public interface HudRendererAccessor { + + @Accessor(value = "INSTANCE", remap = false) + HudRenderer getHudRenderer(); + } diff --git a/src/main/java/com/genyo/addon/utils/HudUtils.java b/src/main/java/com/genyo/addon/utils/HudUtils.java index 12dd609..fc291c7 100644 --- a/src/main/java/com/genyo/addon/utils/HudUtils.java +++ b/src/main/java/com/genyo/addon/utils/HudUtils.java @@ -1,4 +1,35 @@ package com.genyo.addon.utils; +import net.minecraft.client.gui.DrawContext; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.item.ItemStack; + +import static meteordevelopment.meteorclient.MeteorClient.mc; + public class HudUtils { + + public static void drawItem(DrawContext drawContext, ItemStack itemStack, int x, int y, float scale, String countOverride) { + MatrixStack matrices = drawContext.getMatrices(); + matrices.push(); + matrices.scale(scale, scale, 1f); + matrices.translate(0, 0, 401); // Thanks Mojang + + int scaledX = (int) (x / scale); + int scaledY = (int) (y / scale); + + drawContext.drawItem(itemStack, scaledX, scaledY); + + int count = Integer.parseInt(countOverride); + + if (count < 10) { + scaledX -= 5; + } else if (count < 100) { + scaledX -= 2; + } + + drawContext.drawStackOverlay(mc.textRenderer, itemStack, scaledX, scaledY + 8, countOverride); + + matrices.pop(); + } + } diff --git a/src/main/resources/genyo.mixins.json b/src/main/resources/genyo.mixins.json index dc36417..d44c4e5 100644 --- a/src/main/resources/genyo.mixins.json +++ b/src/main/resources/genyo.mixins.json @@ -3,7 +3,8 @@ "package": "com.genyo.addon.mixin", "compatibilityLevel": "JAVA_21", "client": [ - "ExampleMixin" + "ExampleMixin", + "HudRendererAccessor" ], "injectors": { "defaultRequire": 1