From e07ec5a54a7f23eaed79b50da0d87c372de1e0ad Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Fri, 6 Mar 2026 11:41:14 +0100 Subject: [PATCH] ElementRenderer --- .../saturnclient/saturnclient/SaturnClient.java | 4 ++++ .../java/org/saturnclient/ui/SaturnScreen.java | 15 +++++++-------- ...ntRenderer.java => ElementRendererImpl.java} | 17 +++++++++-------- 3 files changed, 20 insertions(+), 16 deletions(-) rename versions/1.21.4/src/main/java/org/saturnclient/ui/components/{ElementRenderer.java => ElementRendererImpl.java} (81%) diff --git a/versions/1.21.4/src/main/java/org/saturnclient/saturnclient/SaturnClient.java b/versions/1.21.4/src/main/java/org/saturnclient/saturnclient/SaturnClient.java index c9d0f59..6838bd3 100644 --- a/versions/1.21.4/src/main/java/org/saturnclient/saturnclient/SaturnClient.java +++ b/versions/1.21.4/src/main/java/org/saturnclient/saturnclient/SaturnClient.java @@ -17,9 +17,11 @@ import org.saturnclient.config.manager.ConfigManager; import org.saturnclient.saturnclient.event.KeyInputHandler; import org.saturnclient.saturnclient.impl.SaturnClientProvider; import org.saturnclient.saturnclient.mixin.DrawContextAccessor; +import org.saturnclient.ui.ElementRenderer; import org.saturnclient.ui.RenderScope; import org.saturnclient.ui.RenderScopeImpl; import org.saturnclient.ui.SaturnScreen; +import org.saturnclient.ui.components.ElementRendererImpl; import org.saturnclient.ui.elements.ImageTexture; import org.saturnclient.ui.resources.Textures; import org.saturnclient.ui.screens.TitleMenu; @@ -42,6 +44,8 @@ public class SaturnClient implements ModInitializer { MinecraftProvider.PROVIDER = new SaturnClientProvider(); + ElementRenderer.INSTANCE = new ElementRendererImpl(); + Config.init(); ModManager.init(); diff --git a/versions/1.21.4/src/main/java/org/saturnclient/ui/SaturnScreen.java b/versions/1.21.4/src/main/java/org/saturnclient/ui/SaturnScreen.java index 66507c7..fff0066 100644 --- a/versions/1.21.4/src/main/java/org/saturnclient/ui/SaturnScreen.java +++ b/versions/1.21.4/src/main/java/org/saturnclient/ui/SaturnScreen.java @@ -6,7 +6,6 @@ import java.util.ArrayList; import java.util.List; import org.saturnclient.saturnclient.mixin.DrawContextAccessor; -import org.saturnclient.ui.components.ElementRenderer; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gl.PostEffectProcessor; @@ -55,7 +54,7 @@ public abstract class SaturnScreen extends Screen { } public void draw(Element element) { - ElementRenderer.draw(elements, element); + ElementRenderer.INSTANCE.draw(elements, element); } @Override @@ -101,7 +100,7 @@ public abstract class SaturnScreen extends Screen { renderScope.getMatrixStack().scale(0.5f, 0.5f, 0.5f); - ElementRenderer.render(new ArrayList<>(elements), elapsed, renderScope, mouseX, mouseY); + ElementRenderer.INSTANCE.render(new ArrayList<>(elements), elapsed, renderScope, mouseX, mouseY); renderScope.getMatrixStack().pop(); } @@ -111,7 +110,7 @@ public abstract class SaturnScreen extends Screen { mouseX *= 2; mouseY *= 2; - ElementRenderer.mouseClicked(elements, mouseX, mouseY, button); + ElementRenderer.INSTANCE.mouseClicked(elements, mouseX, mouseY, button); return false; } @@ -121,7 +120,7 @@ public abstract class SaturnScreen extends Screen { mouseX *= 2; mouseY *= 2; - ElementRenderer.mouseDragged(elements, mouseX, mouseY, button, deltaX, deltaY); + ElementRenderer.INSTANCE.mouseDragged(elements, mouseX, mouseY, button, deltaX, deltaY); return super.mouseReleased(mouseX, mouseY, button); } @@ -131,7 +130,7 @@ public abstract class SaturnScreen extends Screen { mouseX *= 2; mouseY *= 2; - ElementRenderer.mouseReleased(elements, mouseX, mouseY, button); + ElementRenderer.INSTANCE.mouseReleased(elements, mouseX, mouseY, button); return super.mouseReleased(mouseX, mouseY, button); } @@ -145,7 +144,7 @@ public abstract class SaturnScreen extends Screen { mouseX *= 2; mouseY *= 2; - ElementRenderer.mouseScrolled(elements, mouseX, mouseY, horizontalAmount, verticalAmount); + ElementRenderer.INSTANCE.mouseScrolled(elements, mouseX, mouseY, horizontalAmount, verticalAmount); return super.mouseScrolled( mouseX, @@ -162,7 +161,7 @@ public abstract class SaturnScreen extends Screen { @Override public boolean keyPressed(int keyCode, int scanCode, int modifiers) { - ElementRenderer.keyPressed(elements, keyCode, scanCode, modifiers); + ElementRenderer.INSTANCE.keyPressed(elements, keyCode, scanCode, modifiers); return super.keyPressed(keyCode, scanCode, modifiers); } diff --git a/versions/1.21.4/src/main/java/org/saturnclient/ui/components/ElementRenderer.java b/versions/1.21.4/src/main/java/org/saturnclient/ui/components/ElementRendererImpl.java similarity index 81% rename from versions/1.21.4/src/main/java/org/saturnclient/ui/components/ElementRenderer.java rename to versions/1.21.4/src/main/java/org/saturnclient/ui/components/ElementRendererImpl.java index 5ad9039..ad664d8 100644 --- a/versions/1.21.4/src/main/java/org/saturnclient/ui/components/ElementRenderer.java +++ b/versions/1.21.4/src/main/java/org/saturnclient/ui/components/ElementRendererImpl.java @@ -5,11 +5,12 @@ import java.util.List; import org.saturnclient.ui.Element; import org.saturnclient.ui.ElementContext; +import org.saturnclient.ui.ElementRenderer; import org.saturnclient.ui.RenderScope; import org.saturnclient.ui.Utils; -public class ElementRenderer { - public static void draw(List elements, Element element) { +public class ElementRendererImpl extends ElementRenderer { + public void draw(List elements, Element element) { synchronized (elements) { elements.add(element); } @@ -19,7 +20,7 @@ public class ElementRenderer { } } - public static void render(List elements, long elapsed, RenderScope renderScope, int mouseX, int mouseY) { + public void render(List elements, long elapsed, RenderScope renderScope, int mouseX, int mouseY) { for (Element element : elements) { element.playAnimationFrame(elapsed); @@ -32,7 +33,7 @@ public class ElementRenderer { } } - public static void mouseClicked(List elements, double mouseX, double mouseY, int button) { + public void mouseClicked(List elements, double mouseX, double mouseY, int button) { if (button == 0) { for (Element element : new ArrayList<>(elements)) { element.focused = false; @@ -51,7 +52,7 @@ public class ElementRenderer { } } - public static void mouseScrolled( + public void mouseScrolled( List elements, double mouseX, double mouseY, @@ -69,7 +70,7 @@ public class ElementRenderer { } } - public static void keyPressed(List elements, int keyCode, int scanCode, int modifiers) { + public void keyPressed(List elements, int keyCode, int scanCode, int modifiers) { for (Element element : new ArrayList<>(elements)) { if (element.focused && element.opacity > 0) { element.keyPressed(keyCode, scanCode, modifiers); @@ -82,14 +83,14 @@ public class ElementRenderer { } } - public static void mouseDragged(List elements, double mouseX, double mouseY, int button, double deltaX, + public void mouseDragged(List elements, double mouseX, double mouseY, int button, double deltaX, double deltaY) { for (Element element : new ArrayList<>(elements)) { element.mouseDragged(mouseX - element.x, mouseY - element.y, button, deltaX, deltaY); } } - public static void mouseReleased(List elements, double mouseX, double mouseY, int button) { + public void mouseReleased(List elements, double mouseX, double mouseY, int button) { for (Element element : new ArrayList<>(elements)) { element.mouseReleased(mouseX - element.x, mouseY - element.y, button); }