From 4501b0c35e6542e1866471ded8fcdd8718806ca1 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Sat, 7 Mar 2026 23:13:38 +0100 Subject: [PATCH] Architecture #35 --- .../saturnclient/common/IMinecraftClient.java | 8 +- .../common/MinecraftProvider.java | 4 +- .../common/bindings/SaturnIdentifier.java | 33 -------- .../common/bindings/SaturnItemStack.java | 9 -- .../common/bindings/SaturnSprite.java | 9 -- .../common/ref/asset/IdentifierRef.java | 33 ++++++++ .../common/ref/asset/SpriteRef.java | 9 ++ .../common/ref/game/ItemStackRef.java | 9 ++ .../render/MatrixStackRef.java} | 6 +- .../render}/SaturnQuaternionf.java | 2 +- .../render/WindowRef.java} | 4 +- .../java/org/saturnclient/config/Config.java | 4 +- .../java/org/saturnclient/modules/Module.java | 4 +- .../interfaces/ArmorDisplayInterface.java | 28 +++---- .../interfaces/StatusEffectsInterface.java | 9 +- .../modules/mods/ArmorDisplay.java | 12 +-- .../java/org/saturnclient/ui/RenderScope.java | 32 ++++---- .../ui/components/CosmeticPreview.java | 6 +- .../saturnclient/ui/components/Sidebar.java | 6 +- .../ui/elements/ClickableTexture.java | 6 +- .../ui/elements/ImageTexture.java | 8 +- .../org/saturnclient/ui/elements/TabMenu.java | 6 +- .../ui/elements/TextureButton.java | 6 +- .../org/saturnclient/ui/resources/Fonts.java | 10 +-- .../saturnclient/ui/resources/SvgTexture.java | 8 +- .../saturnclient/ui/resources/Textures.java | 82 +++++++++---------- .../saturnclient/ui/screens/HudEditor.java | 4 +- 27 files changed, 178 insertions(+), 179 deletions(-) delete mode 100644 src/main/java/org/saturnclient/common/bindings/SaturnIdentifier.java delete mode 100644 src/main/java/org/saturnclient/common/bindings/SaturnItemStack.java delete mode 100644 src/main/java/org/saturnclient/common/bindings/SaturnSprite.java create mode 100644 src/main/java/org/saturnclient/common/ref/asset/IdentifierRef.java create mode 100644 src/main/java/org/saturnclient/common/ref/asset/SpriteRef.java create mode 100644 src/main/java/org/saturnclient/common/ref/game/ItemStackRef.java rename src/main/java/org/saturnclient/common/{render/IMatrixStack.java => ref/render/MatrixStackRef.java} (77%) rename src/main/java/org/saturnclient/common/{bindings => ref/render}/SaturnQuaternionf.java (80%) rename src/main/java/org/saturnclient/common/{render/IWindow.java => ref/render/WindowRef.java} (65%) diff --git a/src/main/java/org/saturnclient/common/IMinecraftClient.java b/src/main/java/org/saturnclient/common/IMinecraftClient.java index ed7373d..89672e2 100644 --- a/src/main/java/org/saturnclient/common/IMinecraftClient.java +++ b/src/main/java/org/saturnclient/common/IMinecraftClient.java @@ -3,14 +3,14 @@ package org.saturnclient.common; import java.io.File; import java.io.InputStream; -import org.saturnclient.common.bindings.SaturnIdentifier; -import org.saturnclient.common.render.IWindow; +import org.saturnclient.common.ref.asset.IdentifierRef; +import org.saturnclient.common.ref.render.WindowRef; public interface IMinecraftClient { public File getRunDirectory(); - public InputStream getResource(SaturnIdentifier identifier); + public InputStream getResource(IdentifierRef identifier); - public IWindow getWindow(); + public WindowRef getWindow(); } diff --git a/src/main/java/org/saturnclient/common/MinecraftProvider.java b/src/main/java/org/saturnclient/common/MinecraftProvider.java index 4fed5e2..acb3266 100644 --- a/src/main/java/org/saturnclient/common/MinecraftProvider.java +++ b/src/main/java/org/saturnclient/common/MinecraftProvider.java @@ -1,6 +1,6 @@ package org.saturnclient.common; -import org.saturnclient.common.bindings.SaturnIdentifier; +import org.saturnclient.common.ref.asset.IdentifierRef; import org.saturnclient.ui.SaturnScreen; import java.awt.image.BufferedImage; @@ -26,7 +26,7 @@ public abstract class MinecraftProvider { public abstract int getWidth(String text, int font); - public abstract void registerBufferedImageTexture(SaturnIdentifier i, BufferedImage bi); + public abstract void registerBufferedImageTexture(IdentifierRef i, BufferedImage bi); public abstract String getKeyName(int key); diff --git a/src/main/java/org/saturnclient/common/bindings/SaturnIdentifier.java b/src/main/java/org/saturnclient/common/bindings/SaturnIdentifier.java deleted file mode 100644 index 07fc69c..0000000 --- a/src/main/java/org/saturnclient/common/bindings/SaturnIdentifier.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.saturnclient.common.bindings; - -import org.saturnclient.common.MinecraftBinding; -import org.saturnclient.common.MinecraftProvider; - -public class SaturnIdentifier extends MinecraftBinding { - public SaturnIdentifier(String namespace, String path) { - super(MinecraftProvider.PROVIDER.createIdentifier(namespace, path)); - } - - public SaturnIdentifier(Object o) { - super(o); - } - - public static SaturnIdentifier of(String namespace, String path) { - return new SaturnIdentifier(namespace, path); - } - - public static SaturnIdentifier of(String fullPath) { - String[] p = fullPath.split(":", 2); - - return new SaturnIdentifier(p[0], p[1]); - } - - public static SaturnIdentifier ofVanilla(String path) { - return new SaturnIdentifier("minecraft", path); - } - - @Override - public String toString() { - return this.inner.toString(); - } -} diff --git a/src/main/java/org/saturnclient/common/bindings/SaturnItemStack.java b/src/main/java/org/saturnclient/common/bindings/SaturnItemStack.java deleted file mode 100644 index 5c6993d..0000000 --- a/src/main/java/org/saturnclient/common/bindings/SaturnItemStack.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.saturnclient.common.bindings; - -import org.saturnclient.common.MinecraftBinding; - -public class SaturnItemStack extends MinecraftBinding { - public SaturnItemStack(Object binding) { - super(binding); - } -} diff --git a/src/main/java/org/saturnclient/common/bindings/SaturnSprite.java b/src/main/java/org/saturnclient/common/bindings/SaturnSprite.java deleted file mode 100644 index e3260fe..0000000 --- a/src/main/java/org/saturnclient/common/bindings/SaturnSprite.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.saturnclient.common.bindings; - -import org.saturnclient.common.MinecraftBinding; - -public class SaturnSprite extends MinecraftBinding { - public SaturnSprite(Object binding) { - super(binding); - } -} diff --git a/src/main/java/org/saturnclient/common/ref/asset/IdentifierRef.java b/src/main/java/org/saturnclient/common/ref/asset/IdentifierRef.java new file mode 100644 index 0000000..1626059 --- /dev/null +++ b/src/main/java/org/saturnclient/common/ref/asset/IdentifierRef.java @@ -0,0 +1,33 @@ +package org.saturnclient.common.ref.asset; + +import org.saturnclient.common.MinecraftBinding; +import org.saturnclient.common.MinecraftProvider; + +public class IdentifierRef extends MinecraftBinding { + public IdentifierRef(String namespace, String path) { + super(MinecraftProvider.PROVIDER.createIdentifier(namespace, path)); + } + + public IdentifierRef(Object o) { + super(o); + } + + public static IdentifierRef of(String namespace, String path) { + return new IdentifierRef(namespace, path); + } + + public static IdentifierRef of(String fullPath) { + String[] p = fullPath.split(":", 2); + + return new IdentifierRef(p[0], p[1]); + } + + public static IdentifierRef ofVanilla(String path) { + return new IdentifierRef("minecraft", path); + } + + @Override + public String toString() { + return this.inner.toString(); + } +} diff --git a/src/main/java/org/saturnclient/common/ref/asset/SpriteRef.java b/src/main/java/org/saturnclient/common/ref/asset/SpriteRef.java new file mode 100644 index 0000000..d6c2e0c --- /dev/null +++ b/src/main/java/org/saturnclient/common/ref/asset/SpriteRef.java @@ -0,0 +1,9 @@ +package org.saturnclient.common.ref.asset; + +import org.saturnclient.common.MinecraftBinding; + +public class SpriteRef extends MinecraftBinding { + public SpriteRef(Object binding) { + super(binding); + } +} diff --git a/src/main/java/org/saturnclient/common/ref/game/ItemStackRef.java b/src/main/java/org/saturnclient/common/ref/game/ItemStackRef.java new file mode 100644 index 0000000..f487172 --- /dev/null +++ b/src/main/java/org/saturnclient/common/ref/game/ItemStackRef.java @@ -0,0 +1,9 @@ +package org.saturnclient.common.ref.game; + +import org.saturnclient.common.MinecraftBinding; + +public class ItemStackRef extends MinecraftBinding { + public ItemStackRef(Object binding) { + super(binding); + } +} diff --git a/src/main/java/org/saturnclient/common/render/IMatrixStack.java b/src/main/java/org/saturnclient/common/ref/render/MatrixStackRef.java similarity index 77% rename from src/main/java/org/saturnclient/common/render/IMatrixStack.java rename to src/main/java/org/saturnclient/common/ref/render/MatrixStackRef.java index 00a8beb..f44e1c8 100644 --- a/src/main/java/org/saturnclient/common/render/IMatrixStack.java +++ b/src/main/java/org/saturnclient/common/ref/render/MatrixStackRef.java @@ -1,8 +1,6 @@ -package org.saturnclient.common.render; +package org.saturnclient.common.ref.render; -import org.saturnclient.common.bindings.SaturnQuaternionf; - -public interface IMatrixStack { +public interface MatrixStackRef { public void translate(double x, double y, double z); public void translate(float x, float y, float z); diff --git a/src/main/java/org/saturnclient/common/bindings/SaturnQuaternionf.java b/src/main/java/org/saturnclient/common/ref/render/SaturnQuaternionf.java similarity index 80% rename from src/main/java/org/saturnclient/common/bindings/SaturnQuaternionf.java rename to src/main/java/org/saturnclient/common/ref/render/SaturnQuaternionf.java index c156361..e7c64a0 100644 --- a/src/main/java/org/saturnclient/common/bindings/SaturnQuaternionf.java +++ b/src/main/java/org/saturnclient/common/ref/render/SaturnQuaternionf.java @@ -1,4 +1,4 @@ -package org.saturnclient.common.bindings; +package org.saturnclient.common.ref.render; import org.saturnclient.common.MinecraftBinding; diff --git a/src/main/java/org/saturnclient/common/render/IWindow.java b/src/main/java/org/saturnclient/common/ref/render/WindowRef.java similarity index 65% rename from src/main/java/org/saturnclient/common/render/IWindow.java rename to src/main/java/org/saturnclient/common/ref/render/WindowRef.java index f52c558..73bac0e 100644 --- a/src/main/java/org/saturnclient/common/render/IWindow.java +++ b/src/main/java/org/saturnclient/common/ref/render/WindowRef.java @@ -1,6 +1,6 @@ -package org.saturnclient.common.render; +package org.saturnclient.common.ref.render; -public interface IWindow { +public interface WindowRef { public int getWidth(); public int getHeight(); diff --git a/src/main/java/org/saturnclient/config/Config.java b/src/main/java/org/saturnclient/config/Config.java index 707f937..aaf4ce3 100644 --- a/src/main/java/org/saturnclient/config/Config.java +++ b/src/main/java/org/saturnclient/config/Config.java @@ -3,7 +3,7 @@ package org.saturnclient.config; import java.io.File; import org.saturnclient.common.MinecraftProvider; -import org.saturnclient.common.bindings.SaturnIdentifier; +import org.saturnclient.common.ref.asset.IdentifierRef; import org.saturnclient.config.manager.ConfigManager; import org.saturnclient.config.manager.Key; import org.saturnclient.config.manager.Property; @@ -18,7 +18,7 @@ public class Config { public static Property openEmoteWheel = Property.keybinding(Key.GLFW_KEY_B); public static Property stagger = Property.bool(true); - public static SaturnIdentifier getLogo() { + public static IdentifierRef getLogo() { return realisticLogo.value ? Textures.REALISTIC_LOGO : Textures.LOGO; } diff --git a/src/main/java/org/saturnclient/modules/Module.java b/src/main/java/org/saturnclient/modules/Module.java index 73217f5..7397187 100644 --- a/src/main/java/org/saturnclient/modules/Module.java +++ b/src/main/java/org/saturnclient/modules/Module.java @@ -1,6 +1,6 @@ package org.saturnclient.modules; -import org.saturnclient.common.bindings.SaturnIdentifier; +import org.saturnclient.common.ref.asset.IdentifierRef; import org.saturnclient.config.manager.ConfigManager; import org.saturnclient.config.manager.Property.NamedProperty; import org.saturnclient.ui.RenderScope; @@ -37,7 +37,7 @@ public abstract class Module { return details.name; } - public SaturnIdentifier getIconTexture() { + public IdentifierRef getIconTexture() { return Textures.getModIcon(details.namespace); } diff --git a/src/main/java/org/saturnclient/modules/interfaces/ArmorDisplayInterface.java b/src/main/java/org/saturnclient/modules/interfaces/ArmorDisplayInterface.java index 0e4a1ec..b929aaa 100644 --- a/src/main/java/org/saturnclient/modules/interfaces/ArmorDisplayInterface.java +++ b/src/main/java/org/saturnclient/modules/interfaces/ArmorDisplayInterface.java @@ -1,32 +1,32 @@ package org.saturnclient.modules.interfaces; -import org.saturnclient.common.bindings.SaturnItemStack; +import org.saturnclient.common.ref.game.ItemStackRef; public interface ArmorDisplayInterface { - SaturnItemStack getMainHand(); + ItemStackRef getMainHand(); - SaturnItemStack getHelmet(); + ItemStackRef getHelmet(); - SaturnItemStack getChestplate(); + ItemStackRef getChestplate(); - SaturnItemStack getLeggings(); + ItemStackRef getLeggings(); - SaturnItemStack getBoots(); + ItemStackRef getBoots(); - SaturnItemStack getDummyMainHand(); + ItemStackRef getDummyMainHand(); - SaturnItemStack getDummyHelmet(); + ItemStackRef getDummyHelmet(); - SaturnItemStack getDummyChestplate(); + ItemStackRef getDummyChestplate(); - SaturnItemStack getDummyLeggings(); + ItemStackRef getDummyLeggings(); - SaturnItemStack getDummyBoots(); + ItemStackRef getDummyBoots(); - boolean isEmpty(SaturnItemStack stack); + boolean isEmpty(ItemStackRef stack); - int getMaxDamage(SaturnItemStack stack); + int getMaxDamage(ItemStackRef stack); - int getDamage(SaturnItemStack stack); + int getDamage(ItemStackRef stack); } \ No newline at end of file diff --git a/src/main/java/org/saturnclient/modules/interfaces/StatusEffectsInterface.java b/src/main/java/org/saturnclient/modules/interfaces/StatusEffectsInterface.java index 5f15010..f341fc5 100644 --- a/src/main/java/org/saturnclient/modules/interfaces/StatusEffectsInterface.java +++ b/src/main/java/org/saturnclient/modules/interfaces/StatusEffectsInterface.java @@ -1,7 +1,8 @@ package org.saturnclient.modules.interfaces; import java.util.List; -import org.saturnclient.common.bindings.SaturnSprite; + +import org.saturnclient.common.ref.asset.SpriteRef; public interface StatusEffectsInterface { @@ -13,13 +14,13 @@ public interface StatusEffectsInterface { /** Represents a single effect for rendering purposes */ class Effect { - private final SaturnSprite icon; + private final SpriteRef icon; private final int durationSeconds; private final boolean infinite; private final boolean showIcon; private final String infiniteText; - public Effect(SaturnSprite icon, int durationSeconds, boolean infinite, boolean showIcon, String infiniteText) { + public Effect(SpriteRef icon, int durationSeconds, boolean infinite, boolean showIcon, String infiniteText) { this.icon = icon; this.durationSeconds = durationSeconds; this.infinite = infinite; @@ -27,7 +28,7 @@ public interface StatusEffectsInterface { this.infiniteText = infiniteText; } - public SaturnSprite getIcon() { + public SpriteRef getIcon() { return icon; } diff --git a/src/main/java/org/saturnclient/modules/mods/ArmorDisplay.java b/src/main/java/org/saturnclient/modules/mods/ArmorDisplay.java index 820c967..5e170bc 100644 --- a/src/main/java/org/saturnclient/modules/mods/ArmorDisplay.java +++ b/src/main/java/org/saturnclient/modules/mods/ArmorDisplay.java @@ -5,7 +5,7 @@ import org.saturnclient.modules.ModDimensions; import org.saturnclient.modules.Module; import org.saturnclient.modules.ModuleDetails; import org.saturnclient.modules.interfaces.ArmorDisplayInterface; -import org.saturnclient.common.bindings.SaturnItemStack; +import org.saturnclient.common.ref.game.ItemStackRef; import org.saturnclient.config.manager.Property; import org.saturnclient.ui.RenderScope; @@ -30,11 +30,11 @@ public class ArmorDisplay extends Module implements HudMod { } public void renderArmor(RenderScope scope, - SaturnItemStack mainHand, - SaturnItemStack helmet, - SaturnItemStack chestplate, - SaturnItemStack leggings, - SaturnItemStack boots) { + ItemStackRef mainHand, + ItemStackRef helmet, + ItemStackRef chestplate, + ItemStackRef leggings, + ItemStackRef boots) { int row = 0; diff --git a/src/main/java/org/saturnclient/ui/RenderScope.java b/src/main/java/org/saturnclient/ui/RenderScope.java index 69e78b8..2b76ea8 100644 --- a/src/main/java/org/saturnclient/ui/RenderScope.java +++ b/src/main/java/org/saturnclient/ui/RenderScope.java @@ -1,12 +1,12 @@ package org.saturnclient.ui; -import org.saturnclient.common.bindings.SaturnIdentifier; -import org.saturnclient.common.bindings.SaturnItemStack; -import org.saturnclient.common.bindings.SaturnSprite; -import org.saturnclient.common.render.IMatrixStack; +import org.saturnclient.common.ref.asset.IdentifierRef; +import org.saturnclient.common.ref.asset.SpriteRef; +import org.saturnclient.common.ref.game.ItemStackRef; +import org.saturnclient.common.ref.render.MatrixStackRef; public interface RenderScope { - public IMatrixStack getMatrixStack(); + public MatrixStackRef getMatrixStack(); public void setOpacity(float alpha); @@ -25,16 +25,16 @@ public interface RenderScope { public int getScaledWindowHeight(); /* Saturn common sprites */ - public void drawTexture(SaturnIdentifier sprite, int x, int y, float u, float v, int width, int height, + public void drawTexture(IdentifierRef sprite, int x, int y, float u, float v, int width, int height, int color); - public void drawTexture(SaturnIdentifier sprite, int x, int y, float u, float v, int width, int height); + public void drawTexture(IdentifierRef sprite, int x, int y, float u, float v, int width, int height); - public void drawTexture(SaturnIdentifier sprite, int x, int y, float u, float v, int width, int height, + public void drawTexture(IdentifierRef sprite, int x, int y, float u, float v, int width, int height, int regionWith, int regionHeight, int textureWidth, int textureHeight); - public void drawTexture(SaturnIdentifier sprite, int x, int y, float u, float v, int width, int height, + public void drawTexture(IdentifierRef sprite, int x, int y, float u, float v, int width, int height, int regionWidth, int regionHeight, int textureWidth, int textureHeight, int color); @@ -46,19 +46,19 @@ public interface RenderScope { public void draw(); - public void drawItem(SaturnItemStack item, int x, int y); + public void drawItem(ItemStackRef item, int x, int y); - public void drawItem(SaturnItemStack stack, int x, int y, int seed); + public void drawItem(ItemStackRef stack, int x, int y, int seed); - public void drawItem(SaturnItemStack stack, int x, int y, int seed, int z); + public void drawItem(ItemStackRef stack, int x, int y, int seed, int z); - public void drawItemWithoutEntity(SaturnItemStack stack, int x, int y); + public void drawItemWithoutEntity(ItemStackRef stack, int x, int y); - public void drawItemWithoutEntity(SaturnItemStack stack, int x, int y, int seed); + public void drawItemWithoutEntity(ItemStackRef stack, int x, int y, int seed); - public void drawSpriteStretched(SaturnSprite sprite, int x, int y, int width, int height); + public void drawSpriteStretched(SpriteRef sprite, int x, int y, int width, int height); - public void drawSpriteStretched(SaturnSprite sprite, int x, int y, int width, int height, int color); + public void drawSpriteStretched(SpriteRef sprite, int x, int y, int width, int height, int color); public void fill(int x1, int y1, int x2, int y2, int color); diff --git a/src/main/java/org/saturnclient/ui/components/CosmeticPreview.java b/src/main/java/org/saturnclient/ui/components/CosmeticPreview.java index f3b4e54..81935ad 100644 --- a/src/main/java/org/saturnclient/ui/components/CosmeticPreview.java +++ b/src/main/java/org/saturnclient/ui/components/CosmeticPreview.java @@ -1,6 +1,6 @@ package org.saturnclient.ui.components; -import org.saturnclient.common.bindings.SaturnIdentifier; +import org.saturnclient.common.ref.asset.IdentifierRef; import org.saturnclient.config.Theme; import org.saturnclient.ui.Element; import org.saturnclient.ui.ElementContext; @@ -9,11 +9,11 @@ import org.saturnclient.ui.RenderScope; public class CosmeticPreview extends Element { static int padding = 14; - SaturnIdentifier sprite; + IdentifierRef sprite; private Runnable onClick; private boolean isSelected; - public CosmeticPreview(boolean isSelected, SaturnIdentifier sprite, Runnable onClick) { + public CosmeticPreview(boolean isSelected, IdentifierRef sprite, Runnable onClick) { this.sprite = sprite; this.onClick = onClick; this.isSelected = isSelected; diff --git a/src/main/java/org/saturnclient/ui/components/Sidebar.java b/src/main/java/org/saturnclient/ui/components/Sidebar.java index 700c249..8c2eac0 100644 --- a/src/main/java/org/saturnclient/ui/components/Sidebar.java +++ b/src/main/java/org/saturnclient/ui/components/Sidebar.java @@ -1,7 +1,7 @@ package org.saturnclient.ui.components; import org.saturnclient.common.MinecraftProvider; -import org.saturnclient.common.bindings.SaturnIdentifier; +import org.saturnclient.common.ref.asset.IdentifierRef; import org.saturnclient.config.Config; import org.saturnclient.config.Theme; import org.saturnclient.ui.Element; @@ -18,9 +18,9 @@ public class Sidebar extends Element { public static class SidebarComponent { Runnable onClick; boolean end; - SaturnIdentifier sprite; + IdentifierRef sprite; - public SidebarComponent(SaturnIdentifier sprite, Runnable onClick, boolean end) { + public SidebarComponent(IdentifierRef sprite, Runnable onClick, boolean end) { this.onClick = onClick; this.end = end; this.sprite = sprite; diff --git a/src/main/java/org/saturnclient/ui/elements/ClickableTexture.java b/src/main/java/org/saturnclient/ui/elements/ClickableTexture.java index 08ee149..5936fcb 100644 --- a/src/main/java/org/saturnclient/ui/elements/ClickableTexture.java +++ b/src/main/java/org/saturnclient/ui/elements/ClickableTexture.java @@ -1,16 +1,16 @@ package org.saturnclient.ui.elements; -import org.saturnclient.common.bindings.SaturnIdentifier; +import org.saturnclient.common.ref.asset.IdentifierRef; import org.saturnclient.config.Theme; import org.saturnclient.ui.Element; import org.saturnclient.ui.ElementContext; import org.saturnclient.ui.RenderScope; public class ClickableTexture extends Element { - SaturnIdentifier sprite; + IdentifierRef sprite; private Runnable onClick; - public ClickableTexture(SaturnIdentifier sprite, Runnable onClick) { + public ClickableTexture(IdentifierRef sprite, Runnable onClick) { this.sprite = sprite; this.onClick = onClick; } diff --git a/src/main/java/org/saturnclient/ui/elements/ImageTexture.java b/src/main/java/org/saturnclient/ui/elements/ImageTexture.java index a2af187..f930ff8 100644 --- a/src/main/java/org/saturnclient/ui/elements/ImageTexture.java +++ b/src/main/java/org/saturnclient/ui/elements/ImageTexture.java @@ -2,16 +2,16 @@ package org.saturnclient.ui.elements; import org.saturnclient.common.IMinecraftClient; import org.saturnclient.common.MinecraftProvider; -import org.saturnclient.common.bindings.SaturnIdentifier; +import org.saturnclient.common.ref.asset.IdentifierRef; import org.saturnclient.ui.Element; import org.saturnclient.ui.ElementContext; import org.saturnclient.ui.RenderScope; import org.saturnclient.ui.resources.SvgTexture; public class ImageTexture extends Element { - SaturnIdentifier sprite; + IdentifierRef sprite; - public ImageTexture(SaturnIdentifier sprite) { + public ImageTexture(IdentifierRef sprite) { this.sprite = sprite; } @@ -24,7 +24,7 @@ public class ImageTexture extends Element { int renderHeight = (int) (height * client.getWindow().getFramebufferHeight() / client.getWindow().getHeight()); - SaturnIdentifier pngId = SvgTexture.getSvg(client, sprite, renderWidth * 2, renderHeight * 2); + IdentifierRef pngId = SvgTexture.getSvg(client, sprite, renderWidth * 2, renderHeight * 2); this.sprite = pngId; if (pngId == null) { diff --git a/src/main/java/org/saturnclient/ui/elements/TabMenu.java b/src/main/java/org/saturnclient/ui/elements/TabMenu.java index 52b2b5b..6998d11 100644 --- a/src/main/java/org/saturnclient/ui/elements/TabMenu.java +++ b/src/main/java/org/saturnclient/ui/elements/TabMenu.java @@ -1,6 +1,6 @@ package org.saturnclient.ui.elements; -import org.saturnclient.common.bindings.SaturnIdentifier; +import org.saturnclient.common.ref.asset.IdentifierRef; import org.saturnclient.config.Theme; import org.saturnclient.ui.Element; import org.saturnclient.ui.ElementContext; @@ -10,9 +10,9 @@ import org.saturnclient.ui.Utils; public class TabMenu extends Element { public static class TabMenuComponent { Runnable onClick; - SaturnIdentifier sprite; + IdentifierRef sprite; - public TabMenuComponent(SaturnIdentifier sprite, Runnable onClick) { + public TabMenuComponent(IdentifierRef sprite, Runnable onClick) { this.onClick = onClick; this.sprite = sprite; } diff --git a/src/main/java/org/saturnclient/ui/elements/TextureButton.java b/src/main/java/org/saturnclient/ui/elements/TextureButton.java index f83c425..25c63b5 100644 --- a/src/main/java/org/saturnclient/ui/elements/TextureButton.java +++ b/src/main/java/org/saturnclient/ui/elements/TextureButton.java @@ -1,17 +1,17 @@ package org.saturnclient.ui.elements; -import org.saturnclient.common.bindings.SaturnIdentifier; +import org.saturnclient.common.ref.asset.IdentifierRef; import org.saturnclient.config.Theme; import org.saturnclient.ui.Element; import org.saturnclient.ui.ElementContext; import org.saturnclient.ui.RenderScope; public class TextureButton extends Element { - SaturnIdentifier sprite; + IdentifierRef sprite; private Runnable onClick; static int padding = 14; - public TextureButton(SaturnIdentifier sprite, Runnable onClick) { + public TextureButton(IdentifierRef sprite, Runnable onClick) { this.sprite = sprite; this.onClick = onClick; } diff --git a/src/main/java/org/saturnclient/ui/resources/Fonts.java b/src/main/java/org/saturnclient/ui/resources/Fonts.java index 851c966..8fb7c63 100644 --- a/src/main/java/org/saturnclient/ui/resources/Fonts.java +++ b/src/main/java/org/saturnclient/ui/resources/Fonts.java @@ -1,14 +1,14 @@ package org.saturnclient.ui.resources; import org.saturnclient.common.MinecraftProvider; -import org.saturnclient.common.bindings.SaturnIdentifier; +import org.saturnclient.common.ref.asset.IdentifierRef; public class Fonts { - public static final SaturnIdentifier INTER = SaturnIdentifier.of("saturnclient", "inter"); - public static final SaturnIdentifier INTER_BOLD = SaturnIdentifier.of("saturnclient", "inter_bold"); - public static final SaturnIdentifier DEFAULT = SaturnIdentifier.ofVanilla("default"); + public static final IdentifierRef INTER = IdentifierRef.of("saturnclient", "inter"); + public static final IdentifierRef INTER_BOLD = IdentifierRef.of("saturnclient", "inter_bold"); + public static final IdentifierRef DEFAULT = IdentifierRef.ofVanilla("default"); - public static SaturnIdentifier getFont(int font) { + public static IdentifierRef getFont(int font) { switch (font) { case 0: return DEFAULT; diff --git a/src/main/java/org/saturnclient/ui/resources/SvgTexture.java b/src/main/java/org/saturnclient/ui/resources/SvgTexture.java index be8a614..434ea55 100644 --- a/src/main/java/org/saturnclient/ui/resources/SvgTexture.java +++ b/src/main/java/org/saturnclient/ui/resources/SvgTexture.java @@ -12,11 +12,11 @@ import com.kitfox.svg.SVGUniverse; import org.saturnclient.common.IMinecraftClient; import org.saturnclient.common.MinecraftProvider; -import org.saturnclient.common.bindings.SaturnIdentifier; +import org.saturnclient.common.ref.asset.IdentifierRef; public class SvgTexture { - private static List svgCache = new ArrayList<>(); + private static List svgCache = new ArrayList<>(); private static BufferedImage renderSvg(InputStream svgStream, int width, int height) throws Exception { // Load SVG @@ -50,8 +50,8 @@ public class SvgTexture { return image; } - public static SaturnIdentifier getSvg(IMinecraftClient client, SaturnIdentifier svgImage, int width, int height) { - SaturnIdentifier id = SaturnIdentifier + public static IdentifierRef getSvg(IMinecraftClient client, IdentifierRef svgImage, int width, int height) { + IdentifierRef id = IdentifierRef .of(svgImage.toString().replaceAll("\\.svg$", (width + "_" + height).toString() + ".png")); if (svgCache.contains(id)) { diff --git a/src/main/java/org/saturnclient/ui/resources/Textures.java b/src/main/java/org/saturnclient/ui/resources/Textures.java index 46d1f6b..d6caacb 100644 --- a/src/main/java/org/saturnclient/ui/resources/Textures.java +++ b/src/main/java/org/saturnclient/ui/resources/Textures.java @@ -1,84 +1,84 @@ package org.saturnclient.ui.resources; -import org.saturnclient.common.bindings.SaturnIdentifier; +import org.saturnclient.common.ref.asset.IdentifierRef; public class Textures { - public static final SaturnIdentifier CROSSHAIR_RANGE = new SaturnIdentifier("saturnclient", + public static final IdentifierRef CROSSHAIR_RANGE = new IdentifierRef("saturnclient", "textures/gui/hud/crosshair_range.png"); - public static final SaturnIdentifier COSMETICS = new SaturnIdentifier("saturnclient", + public static final IdentifierRef COSMETICS = new IdentifierRef("saturnclient", "textures/gui/components/cosmetics.png"); - public static final SaturnIdentifier HUD_ICON = new SaturnIdentifier("saturnclient", + public static final IdentifierRef HUD_ICON = new IdentifierRef("saturnclient", "textures/gui/components/hud.png"); - public static final SaturnIdentifier SEARCH = new SaturnIdentifier("saturnclient", + public static final IdentifierRef SEARCH = new IdentifierRef("saturnclient", "textures/gui/components/search.png"); - public static final SaturnIdentifier CLOSE = new SaturnIdentifier("saturnclient", + public static final IdentifierRef CLOSE = new IdentifierRef("saturnclient", "textures/gui/components/close.png"); - public static final SaturnIdentifier MODS_TAB = new SaturnIdentifier("saturnclient", + public static final IdentifierRef MODS_TAB = new IdentifierRef("saturnclient", "textures/gui/components/mods_tab.png"); - public static final SaturnIdentifier SETTINGS = new SaturnIdentifier("saturnclient", + public static final IdentifierRef SETTINGS = new IdentifierRef("saturnclient", "textures/gui/components/settings.png"); - public static final SaturnIdentifier CLOAK = new SaturnIdentifier("saturnclient", + public static final IdentifierRef CLOAK = new IdentifierRef("saturnclient", "textures/gui/components/cloak.png"); - public static final SaturnIdentifier HAT = new SaturnIdentifier("saturnclient", + public static final IdentifierRef HAT = new IdentifierRef("saturnclient", "textures/gui/components/hat.png"); - public static final SaturnIdentifier RESET = new SaturnIdentifier("saturnclient", + public static final IdentifierRef RESET = new IdentifierRef("saturnclient", "textures/gui/components/reset.png"); - public static final SaturnIdentifier TOGGLE_INDICATOR = new SaturnIdentifier("saturnclient", + public static final IdentifierRef TOGGLE_INDICATOR = new IdentifierRef("saturnclient", "textures/gui/components/toggle_indicator.png"); - public static final SaturnIdentifier LEFT = new SaturnIdentifier("saturnclient", + public static final IdentifierRef LEFT = new IdentifierRef("saturnclient", "textures/gui/components/left.png"); - public static final SaturnIdentifier RIGHT = new SaturnIdentifier("saturnclient", + public static final IdentifierRef RIGHT = new IdentifierRef("saturnclient", "textures/gui/components/right.png"); - public static final SaturnIdentifier STORE = new SaturnIdentifier("saturnclient", + public static final IdentifierRef STORE = new IdentifierRef("saturnclient", "textures/gui/components/store.png"); - public static final SaturnIdentifier COINS = new SaturnIdentifier("saturnclient", + public static final IdentifierRef COINS = new IdentifierRef("saturnclient", "textures/gui/components/coins.png"); - public static final SaturnIdentifier SHIRT = new SaturnIdentifier("saturnclient", + public static final IdentifierRef SHIRT = new IdentifierRef("saturnclient", "textures/gui/components/shirt.png"); - public static final SaturnIdentifier CIRCLE_X = new SaturnIdentifier("saturnclient", + public static final IdentifierRef CIRCLE_X = new IdentifierRef("saturnclient", "textures/gui/components/circle_x.png"); - public static final SaturnIdentifier INFO = new SaturnIdentifier("saturnclient", + public static final IdentifierRef INFO = new IdentifierRef("saturnclient", "textures/gui/components/info.png"); - public static final SaturnIdentifier CHECK = new SaturnIdentifier("saturnclient", + public static final IdentifierRef CHECK = new IdentifierRef("saturnclient", "textures/gui/components/check.png"); - public static final SaturnIdentifier LOGO = new SaturnIdentifier("saturnclient", "textures/logo/logo.png"); - public static final SaturnIdentifier REALISTIC_LOGO = new SaturnIdentifier("saturnclient", + public static final IdentifierRef LOGO = new IdentifierRef("saturnclient", "textures/logo/logo.png"); + public static final IdentifierRef REALISTIC_LOGO = new IdentifierRef("saturnclient", "textures/logo/realistic.png"); - public static final SaturnIdentifier LOGO_TEXT = new SaturnIdentifier("saturnclient", "textures/logo/text.png"); - public static final SaturnIdentifier LOGO_TEXT_BIG = new SaturnIdentifier("saturnclient", + public static final IdentifierRef LOGO_TEXT = new IdentifierRef("saturnclient", "textures/logo/text.png"); + public static final IdentifierRef LOGO_TEXT_BIG = new IdentifierRef("saturnclient", "textures/logo/text_big.png"); - public static final SaturnIdentifier SPLASH = new SaturnIdentifier("saturnclient", "textures/gui/splash.png"); + public static final IdentifierRef SPLASH = new IdentifierRef("saturnclient", "textures/gui/splash.png"); // Widgets - public static final SaturnIdentifier BUTTON_BORDER = new SaturnIdentifier("saturnclient", "button_border"); - public static final SaturnIdentifier BUTTON = new SaturnIdentifier("saturnclient", "button"); - public static final SaturnIdentifier BUTTON_OP = new SaturnIdentifier("saturnclient", "button_op"); - public static final SaturnIdentifier SETTINGS_BG = new SaturnIdentifier("saturnclient", "settings_bg"); - public static final SaturnIdentifier RECT = new SaturnIdentifier("saturnclient", "rect"); - public static final SaturnIdentifier RECT_BORDER = new SaturnIdentifier("saturnclient", "rect_border"); - public static final SaturnIdentifier MOD = new SaturnIdentifier("saturnclient", + public static final IdentifierRef BUTTON_BORDER = new IdentifierRef("saturnclient", "button_border"); + public static final IdentifierRef BUTTON = new IdentifierRef("saturnclient", "button"); + public static final IdentifierRef BUTTON_OP = new IdentifierRef("saturnclient", "button_op"); + public static final IdentifierRef SETTINGS_BG = new IdentifierRef("saturnclient", "settings_bg"); + public static final IdentifierRef RECT = new IdentifierRef("saturnclient", "rect"); + public static final IdentifierRef RECT_BORDER = new IdentifierRef("saturnclient", "rect_border"); + public static final IdentifierRef MOD = new IdentifierRef("saturnclient", "textures/gui/components/mod.png"); - public static final SaturnIdentifier MOD_BG = new SaturnIdentifier("saturnclient", + public static final IdentifierRef MOD_BG = new IdentifierRef("saturnclient", "textures/gui/components/mod_bg.png"); - public static SaturnIdentifier getCloakPreview(String cloak) { - return new SaturnIdentifier("saturnclient", + public static IdentifierRef getCloakPreview(String cloak) { + return new IdentifierRef("saturnclient", "textures/gui/cloak/" + (cloak.isEmpty() ? "none" : cloak) + ".png"); } - public static SaturnIdentifier getHatPreview(String hat) { - return new SaturnIdentifier("saturnclient", + public static IdentifierRef getHatPreview(String hat) { + return new IdentifierRef("saturnclient", "textures/gui/hat/" + (hat.isEmpty() ? "none" : hat) + ".png"); } - public static SaturnIdentifier getEmotePreview(String emote) { - return new SaturnIdentifier("saturnclient", + public static IdentifierRef getEmotePreview(String emote) { + return new IdentifierRef("saturnclient", "textures/gui/emote/" + (emote == null ? "none" : emote) + ".png"); } - public static SaturnIdentifier getModIcon(String modId) { - return new SaturnIdentifier("saturnclient", "textures/gui/mod/" + modId + ".svg"); + public static IdentifierRef getModIcon(String modId) { + return new IdentifierRef("saturnclient", "textures/gui/mod/" + modId + ".svg"); } } diff --git a/src/main/java/org/saturnclient/ui/screens/HudEditor.java b/src/main/java/org/saturnclient/ui/screens/HudEditor.java index 902ed3d..ee99f0a 100644 --- a/src/main/java/org/saturnclient/ui/screens/HudEditor.java +++ b/src/main/java/org/saturnclient/ui/screens/HudEditor.java @@ -4,7 +4,7 @@ import org.saturnclient.modules.HudMod; import org.saturnclient.modules.ModDimensions; import org.saturnclient.modules.ModManager; import org.saturnclient.modules.Module; -import org.saturnclient.common.render.IMatrixStack; +import org.saturnclient.common.ref.render.MatrixStackRef; import org.saturnclient.config.manager.ConfigManager; import org.saturnclient.ui.RenderScope; import org.saturnclient.ui.SaturnScreen; @@ -92,7 +92,7 @@ public class HudEditor extends SaturnScreen { public void render(RenderScope renderScope, int mouseX, int mouseY, float delta, long elapsed) { for (HudMod mod : hudMods) { ModDimensions dim = mod.getDimensions(); - IMatrixStack matrices = renderScope.getMatrixStack(); + MatrixStackRef matrices = renderScope.getMatrixStack(); matrices.push(); matrices.translate(dim.x.value, dim.y.value, 0);