diff --git a/common/src/main/java/org/saturnclient/common/minecraft/MinecraftBinding.java b/common/src/main/java/org/saturnclient/common/minecraft/MinecraftBinding.java new file mode 100644 index 0000000..12f5798 --- /dev/null +++ b/common/src/main/java/org/saturnclient/common/minecraft/MinecraftBinding.java @@ -0,0 +1,9 @@ +package org.saturnclient.common.minecraft; + +public class MinecraftBinding { + public Object inner; + + public MinecraftBinding(Object binding) { + this.inner = binding; + } +} diff --git a/common/src/main/java/org/saturnclient/common/minecraft/SaturnIdentifier.java b/common/src/main/java/org/saturnclient/common/minecraft/SaturnIdentifier.java deleted file mode 100644 index 9ba35cc..0000000 --- a/common/src/main/java/org/saturnclient/common/minecraft/SaturnIdentifier.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.saturnclient.common.minecraft; - -public class SaturnIdentifier { - public Object id; - - public SaturnIdentifier(String namespace, String path) { - this.id = MinecraftProvider.PROVIDER.createIdentifier(namespace, path); - } -} diff --git a/common/src/main/java/org/saturnclient/common/minecraft/bindings/SaturnIdentifier.java b/common/src/main/java/org/saturnclient/common/minecraft/bindings/SaturnIdentifier.java new file mode 100644 index 0000000..7bd08de --- /dev/null +++ b/common/src/main/java/org/saturnclient/common/minecraft/bindings/SaturnIdentifier.java @@ -0,0 +1,10 @@ +package org.saturnclient.common.minecraft.bindings; + +import org.saturnclient.common.minecraft.MinecraftBinding; +import org.saturnclient.common.minecraft.MinecraftProvider; + +public class SaturnIdentifier extends MinecraftBinding { + public SaturnIdentifier(String namespace, String path) { + super(MinecraftProvider.PROVIDER.createIdentifier(namespace, path)); + } +} diff --git a/common/src/main/java/org/saturnclient/common/minecraft/bindings/SaturnItemStack.java b/common/src/main/java/org/saturnclient/common/minecraft/bindings/SaturnItemStack.java new file mode 100644 index 0000000..3cc69cf --- /dev/null +++ b/common/src/main/java/org/saturnclient/common/minecraft/bindings/SaturnItemStack.java @@ -0,0 +1,9 @@ +package org.saturnclient.common.minecraft.bindings; + +import org.saturnclient.common.minecraft.MinecraftBinding; + +public class SaturnItemStack extends MinecraftBinding { + SaturnItemStack(Object binding) { + super(binding); + } +} diff --git a/common/src/main/java/org/saturnclient/common/minecraft/bindings/SaturnSprite.java b/common/src/main/java/org/saturnclient/common/minecraft/bindings/SaturnSprite.java new file mode 100644 index 0000000..a4ba9cc --- /dev/null +++ b/common/src/main/java/org/saturnclient/common/minecraft/bindings/SaturnSprite.java @@ -0,0 +1,9 @@ +package org.saturnclient.common.minecraft.bindings; + +import org.saturnclient.common.minecraft.MinecraftBinding; + +public class SaturnSprite extends MinecraftBinding { + SaturnSprite(Object binding) { + super(binding); + } +} diff --git a/common/src/main/java/org/saturnclient/config/Config.java b/common/src/main/java/org/saturnclient/config/Config.java index bc7c419..51e4391 100644 --- a/common/src/main/java/org/saturnclient/config/Config.java +++ b/common/src/main/java/org/saturnclient/config/Config.java @@ -3,7 +3,7 @@ package org.saturnclient.config; import java.io.File; import org.saturnclient.common.minecraft.MinecraftProvider; -import org.saturnclient.common.minecraft.SaturnIdentifier; +import org.saturnclient.common.minecraft.bindings.SaturnIdentifier; import org.saturnclient.config.manager.ConfigManager; import org.saturnclient.config.manager.Key; import org.saturnclient.config.manager.Property; diff --git a/common/src/main/java/org/saturnclient/ui/RenderScope.java b/common/src/main/java/org/saturnclient/ui/RenderScope.java new file mode 100644 index 0000000..2d76707 --- /dev/null +++ b/common/src/main/java/org/saturnclient/ui/RenderScope.java @@ -0,0 +1,66 @@ +package org.saturnclient.ui; + +import org.saturnclient.common.minecraft.bindings.SaturnIdentifier; +import org.saturnclient.common.minecraft.bindings.SaturnItemStack; +import org.saturnclient.common.minecraft.bindings.SaturnSprite; + +public interface RenderScope { + public void setOpacity(float alpha); + + public int getColor(int color); + + public void drawRect(int x, int y, int width, int height, int color); + + public void drawText(String text, int x, int y, int font, int color); + + public void drawText(float scale, String text, int x, int y, int font, int color); + + public void drawRoundedRectangle(int x, int y, int width, int height, int radius, int color); + + public int getScaledWindowWidth(); + + public int getScaledWindowHeight(); + + /* Saturn common sprites */ + public void drawTexture(SaturnIdentifier 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(SaturnIdentifier 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, + int regionWidth, + int regionHeight, int textureWidth, int textureHeight, int color); + + public void enableScissor(int x1, int y1, int x2, int y2); + + public void disableScissor(); + + public boolean scissorContains(int x, int y); + + public void draw(); + + public void drawItem(SaturnItemStack item, int x, int y); + + public void drawItem(SaturnItemStack stack, int x, int y, int seed); + + public void drawItem(SaturnItemStack stack, int x, int y, int seed, int z); + + public void drawItemWithoutEntity(SaturnItemStack stack, int x, int y); + + public void drawItemWithoutEntity(SaturnItemStack stack, int x, int y, int seed); + + public void drawItem(SaturnItemStack entity, SaturnItemStack stack, int x, int y, int seed); + + public void drawSpriteStretched(SaturnSprite 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 fill(int x1, int y1, int x2, int y2, int color); + + public void fill(int x1, int y1, int x2, int y2, int z, int color); + + public void drawBorder(int x, int y, int width, int height, int color); +} diff --git a/common/src/main/java/org/saturnclient/ui/resources/Textures.java b/common/src/main/java/org/saturnclient/ui/resources/Textures.java index 3503766..9a8ea74 100644 --- a/common/src/main/java/org/saturnclient/ui/resources/Textures.java +++ b/common/src/main/java/org/saturnclient/ui/resources/Textures.java @@ -1,6 +1,6 @@ package org.saturnclient.ui.resources; -import org.saturnclient.common.minecraft.SaturnIdentifier; +import org.saturnclient.common.minecraft.bindings.SaturnIdentifier; public class Textures { public static final SaturnIdentifier CROSSHAIR_RANGE = new SaturnIdentifier("saturnclient", diff --git a/versions/1.21.4/src/main/java/org/saturnclient/modules/Module.java b/versions/1.21.4/src/main/java/org/saturnclient/modules/Module.java index 4a2d640..c40da1a 100644 --- a/versions/1.21.4/src/main/java/org/saturnclient/modules/Module.java +++ b/versions/1.21.4/src/main/java/org/saturnclient/modules/Module.java @@ -1,6 +1,6 @@ package org.saturnclient.modules; -import org.saturnclient.common.minecraft.SaturnIdentifier; +import org.saturnclient.common.minecraft.bindings.SaturnIdentifier; import org.saturnclient.config.manager.ConfigManager; import org.saturnclient.config.manager.Property.NamedProperty; import org.saturnclient.ui.RenderScope; diff --git a/versions/1.21.4/src/main/java/org/saturnclient/ui/RenderScope.java b/versions/1.21.4/src/main/java/org/saturnclient/ui/RenderScope.java index 3968530..b804f61 100644 --- a/versions/1.21.4/src/main/java/org/saturnclient/ui/RenderScope.java +++ b/versions/1.21.4/src/main/java/org/saturnclient/ui/RenderScope.java @@ -11,7 +11,7 @@ import org.joml.Matrix4f; import com.mojang.blaze3d.systems.RenderSystem; -import org.saturnclient.common.minecraft.SaturnIdentifier; +import org.saturnclient.common.minecraft.bindings.SaturnIdentifier; import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.mixin.DrawContextAccessor; import org.saturnclient.ui.resources.Fonts; @@ -224,7 +224,7 @@ public class RenderScope { public void drawTexture(SaturnIdentifier sprite, int x, int y, float u, float v, int width, int height, int regionWidth, int regionHeight, int textureWidth, int textureHeight, int color) { - this.drawTexturedQuad((Identifier) sprite.id, x, x + width, y, y + height, (u + 0.0F) / (float) textureWidth, + this.drawTexturedQuad((Identifier) sprite.inner, x, x + width, y, y + height, (u + 0.0F) / (float) textureWidth, (u + (float) regionWidth) / (float) textureWidth, (v + 0.0F) / (float) textureHeight, (v + (float) regionHeight) / (float) textureHeight, color); } diff --git a/versions/1.21.4/src/main/java/org/saturnclient/ui/components/CosmeticPreview.java b/versions/1.21.4/src/main/java/org/saturnclient/ui/components/CosmeticPreview.java index 7162e5c..2267c2e 100644 --- a/versions/1.21.4/src/main/java/org/saturnclient/ui/components/CosmeticPreview.java +++ b/versions/1.21.4/src/main/java/org/saturnclient/ui/components/CosmeticPreview.java @@ -1,6 +1,6 @@ package org.saturnclient.ui.components; -import org.saturnclient.common.minecraft.SaturnIdentifier; +import org.saturnclient.common.minecraft.bindings.SaturnIdentifier; import org.saturnclient.config.Theme; import org.saturnclient.ui.Element; import org.saturnclient.ui.ElementContext; @@ -17,7 +17,7 @@ public class CosmeticPreview extends Element { private boolean isSelected; public CosmeticPreview(boolean isSelected, SaturnIdentifier sprite, Runnable onClick) { - this.sprite = (Identifier) sprite.id; + this.sprite = (Identifier) sprite.inner; this.onClick = onClick; this.isSelected = isSelected; diff --git a/versions/1.21.4/src/main/java/org/saturnclient/ui/components/Sidebar.java b/versions/1.21.4/src/main/java/org/saturnclient/ui/components/Sidebar.java index 1be9169..fa76050 100644 --- a/versions/1.21.4/src/main/java/org/saturnclient/ui/components/Sidebar.java +++ b/versions/1.21.4/src/main/java/org/saturnclient/ui/components/Sidebar.java @@ -1,7 +1,7 @@ package org.saturnclient.ui.components; import org.saturnclient.saturnclient.SaturnClient; -import org.saturnclient.common.minecraft.SaturnIdentifier; +import org.saturnclient.common.minecraft.bindings.SaturnIdentifier; import org.saturnclient.config.Config; import org.saturnclient.config.Theme; import org.saturnclient.ui.Element; @@ -26,7 +26,7 @@ public class Sidebar extends Element { public SidebarComponent(SaturnIdentifier sprite, Runnable onClick, boolean end) { this.onClick = onClick; this.end = end; - this.sprite = (Identifier) sprite.id; + this.sprite = (Identifier) sprite.inner; } } diff --git a/versions/1.21.4/src/main/java/org/saturnclient/ui/elements/ImageTexture.java b/versions/1.21.4/src/main/java/org/saturnclient/ui/elements/ImageTexture.java index 6b43d95..2cb058a 100644 --- a/versions/1.21.4/src/main/java/org/saturnclient/ui/elements/ImageTexture.java +++ b/versions/1.21.4/src/main/java/org/saturnclient/ui/elements/ImageTexture.java @@ -1,6 +1,6 @@ package org.saturnclient.ui.elements; -import org.saturnclient.common.minecraft.SaturnIdentifier; +import org.saturnclient.common.minecraft.bindings.SaturnIdentifier; import org.saturnclient.ui.Element; import org.saturnclient.ui.ElementContext; import org.saturnclient.ui.RenderScope; @@ -17,7 +17,7 @@ public class ImageTexture extends Element { } public ImageTexture(SaturnIdentifier sprite) { - this.sprite = (Identifier) sprite.id; + this.sprite = (Identifier) sprite.inner; } @Override diff --git a/versions/1.21.4/src/main/java/org/saturnclient/ui/elements/TabMenu.java b/versions/1.21.4/src/main/java/org/saturnclient/ui/elements/TabMenu.java index db22caf..a8daf13 100644 --- a/versions/1.21.4/src/main/java/org/saturnclient/ui/elements/TabMenu.java +++ b/versions/1.21.4/src/main/java/org/saturnclient/ui/elements/TabMenu.java @@ -1,6 +1,6 @@ package org.saturnclient.ui.elements; -import org.saturnclient.common.minecraft.SaturnIdentifier; +import org.saturnclient.common.minecraft.bindings.SaturnIdentifier; import org.saturnclient.config.Theme; import org.saturnclient.ui.Element; import org.saturnclient.ui.ElementContext; @@ -16,7 +16,7 @@ public class TabMenu extends Element { public TabMenuComponent(SaturnIdentifier sprite, Runnable onClick) { this.onClick = onClick; - this.sprite = (Identifier) sprite.id; + this.sprite = (Identifier) sprite.inner; } } diff --git a/versions/1.21.4/src/main/java/org/saturnclient/ui/elements/TextureButton.java b/versions/1.21.4/src/main/java/org/saturnclient/ui/elements/TextureButton.java index e4de071..23464fd 100644 --- a/versions/1.21.4/src/main/java/org/saturnclient/ui/elements/TextureButton.java +++ b/versions/1.21.4/src/main/java/org/saturnclient/ui/elements/TextureButton.java @@ -1,6 +1,6 @@ package org.saturnclient.ui.elements; -import org.saturnclient.common.minecraft.SaturnIdentifier; +import org.saturnclient.common.minecraft.bindings.SaturnIdentifier; import org.saturnclient.config.Theme; import org.saturnclient.ui.Element; import org.saturnclient.ui.ElementContext; @@ -15,7 +15,7 @@ public class TextureButton extends Element { static int padding = 14; public TextureButton(SaturnIdentifier sprite, Runnable onClick) { - this.sprite = (Identifier) sprite.id; + this.sprite = (Identifier) sprite.inner; this.onClick = onClick; }