From 7e39532d1d1aba5a22f4d9896f6e61eea50f19af Mon Sep 17 00:00:00 2001 From: Leo dev Date: Sat, 14 Jun 2025 13:52:29 -0500 Subject: [PATCH] almost fully working emotes --- .../saturnclient/SaturnClient.java | 2 ++ .../saturnclient/cosmetics/Emotes.java | 4 ++++ src/main/java/org/saturnclient/ui2/Utils.java | 2 ++ .../saturnclient/ui2/resources/Textures.java | 3 ++- .../saturnclient/ui2/screens/EmoteWheel.java | 21 +++++++++++------- .../textures/gui/components/left.png | Bin 0 -> 374 bytes .../textures/gui/components/right.png | Bin 0 -> 357 bytes .../saturnclient/textures/gui/emote/none.png | Bin 0 -> 129 bytes 8 files changed, 23 insertions(+), 9 deletions(-) create mode 100644 src/main/resources/assets/saturnclient/textures/gui/components/left.png create mode 100644 src/main/resources/assets/saturnclient/textures/gui/components/right.png create mode 100644 src/main/resources/assets/saturnclient/textures/gui/emote/none.png diff --git a/src/main/java/org/saturnclient/saturnclient/SaturnClient.java b/src/main/java/org/saturnclient/saturnclient/SaturnClient.java index 1a6c933..482572e 100644 --- a/src/main/java/org/saturnclient/saturnclient/SaturnClient.java +++ b/src/main/java/org/saturnclient/saturnclient/SaturnClient.java @@ -7,6 +7,7 @@ import net.minecraft.client.MinecraftClient; import org.saturnclient.modules.ModManager; import org.saturnclient.saturnclient.auth.Auth; import org.saturnclient.saturnclient.config.ConfigManager; +import org.saturnclient.saturnclient.cosmetics.Emotes; import org.saturnclient.saturnclient.cosmetics.Hats; import org.saturnclient.saturnclient.cosmetics.cloaks.Cloaks; import org.saturnclient.saturnclient.event.KeyInputHandler; @@ -38,6 +39,7 @@ public class SaturnClient implements ModInitializer { }); KeyInputHandler.register(); + Emotes.initialize(); if (Auth.authenticate()) { Cloaks.initialize(); Hats.initialize(); diff --git a/src/main/java/org/saturnclient/saturnclient/cosmetics/Emotes.java b/src/main/java/org/saturnclient/saturnclient/cosmetics/Emotes.java index 12c72b5..dbf72f2 100644 --- a/src/main/java/org/saturnclient/saturnclient/cosmetics/Emotes.java +++ b/src/main/java/org/saturnclient/saturnclient/cosmetics/Emotes.java @@ -5,4 +5,8 @@ import java.util.List; public class Emotes { public static List availableEmotes = new ArrayList<>(); + + public static void initialize() { + availableEmotes.add("backflip"); + } } diff --git a/src/main/java/org/saturnclient/ui2/Utils.java b/src/main/java/org/saturnclient/ui2/Utils.java index e61f4f6..d342a60 100644 --- a/src/main/java/org/saturnclient/ui2/Utils.java +++ b/src/main/java/org/saturnclient/ui2/Utils.java @@ -3,6 +3,7 @@ package org.saturnclient.ui2; import java.util.List; import org.lwjgl.glfw.GLFW; +import org.saturnclient.saturnclient.SaturnClient; public class Utils { public static boolean isHovering(int mouseX, int mouseY, int elementWidth, int elementHeight, float elementScale) { @@ -48,6 +49,7 @@ public class Utils { } public static T getOrNull(List list, int index) { + SaturnClient.LOGGER.info("Accessing index {} in list of size {}", index, list.size()); return (index >= 0 && index < list.size()) ? list.get(index) : null; } } diff --git a/src/main/java/org/saturnclient/ui2/resources/Textures.java b/src/main/java/org/saturnclient/ui2/resources/Textures.java index 65ad17a..2bb3b48 100644 --- a/src/main/java/org/saturnclient/ui2/resources/Textures.java +++ b/src/main/java/org/saturnclient/ui2/resources/Textures.java @@ -15,7 +15,8 @@ public class Textures { public static final Identifier RESET = Identifier.of("saturnclient", "textures/gui/components/reset.png"); public static final Identifier TOGGLE_INDICATOR = Identifier.of("saturnclient", "textures/gui/components/toggle_indicator.png"); - public static final Identifier TOGGLE_BG = Identifier.of("saturnclient", "textures/gui/components/toggle_bg.png"); + public static final Identifier LEFT = Identifier.of("saturnclient", "textures/gui/components/left.png"); + public static final Identifier RIGHT = Identifier.of("saturnclient", "textures/gui/components/right.png"); public static final Identifier LOGO = Identifier.of("saturnclient", "textures/logo/logo.png"); public static final Identifier REALISTIC_LOGO = Identifier.of("saturnclient", "textures/logo/realistic.png"); diff --git a/src/main/java/org/saturnclient/ui2/screens/EmoteWheel.java b/src/main/java/org/saturnclient/ui2/screens/EmoteWheel.java index 4b95d58..e21b752 100644 --- a/src/main/java/org/saturnclient/ui2/screens/EmoteWheel.java +++ b/src/main/java/org/saturnclient/ui2/screens/EmoteWheel.java @@ -28,24 +28,24 @@ public class EmoteWheel extends SaturnScreen { int row = 0; int col = 0; - draw(new ImageTexture(Textures.LOGO_TEXT).dimensions(98, 10).centerOffset(width, height, 0, -150).animation(new Fade(700))); - draw(new ImageTexture(SaturnClientConfig.getLogo()).dimensions(98, 98).centerOffset(width, height, 0, -194).animation(new SlideY(700, -20))); + draw(new ImageTexture(Textures.LOGO_TEXT).dimensions(98, 10).centerOffset(width, height, 0, -105).animation(new Fade(700))); + draw(new ImageTexture(SaturnClientConfig.getLogo()).dimensions(98, 98).centerOffset(width, height, 0, -149).animation(new SlideY(700, -20))); - draw(new TextureButton(Textures.MODS_TAB, () -> { + draw(new TextureButton(Textures.LEFT, () -> { if (page > 1) { page--; elements.clear(); ui(); } - }).dimensions(30, 30).centerOffset(width, height, -25, 0).animation(new Fade(700))); + }).dimensions(30, 30).centerOffset(width, height, -20, 45).animation(new Fade(700))); - draw(new TextureButton(Textures.MODS_TAB, () -> { - if (page > 1) { + draw(new TextureButton(Textures.RIGHT, () -> { + if ((8 * page) < Emotes.availableEmotes.size()) { page++; elements.clear(); ui(); } - }).dimensions(30, 30).centerOffset(width, height, 10, 0).animation(new Fade(700))); + }).dimensions(30, 30).centerOffset(width, height, 20, 45).animation(new Fade(700))); while (row < 3) { int idx = (row * 3 + col) * page; @@ -63,7 +63,7 @@ public class EmoteWheel extends SaturnScreen { AnimationStack animationStack = PlayerAnimationAccess.getPlayerAnimLayer(SaturnClient.client.player); animationStack.addAnimLayer(1000, PlayerAnimationRegistry.getAnimation(Identifier.of("saturnclient", emote)).playAnimation()); close(); - }).dimensions(70, 70).centerOffset(width, height, -90 + (col * 80), -80 + (row * 80)).animation(new Fade(700))); + }).dimensions(70, 70).centerOffset(width, height, -80 + (col * 80), -35 + (row * 80)).animation(new Fade(700))); if (col < 2) { col++; @@ -73,4 +73,9 @@ public class EmoteWheel extends SaturnScreen { } } } + + @Override + public boolean shouldPause() { + return false; + } } diff --git a/src/main/resources/assets/saturnclient/textures/gui/components/left.png b/src/main/resources/assets/saturnclient/textures/gui/components/left.png new file mode 100644 index 0000000000000000000000000000000000000000..073a7488e50fd8583b5862430b5e22af77edc091 GIT binary patch literal 374 zcmV-+0g3*JP)>ez)Iq8N}?>w6&5qW>*$<2aTk`PB!ImDII55(&V8UC9JD%^U~6L! z;AiK+!1`N1C9ngq3l7#_qn2;b!g;fD-V#UGQSW$2atQa^IRs@_98x00_ zi$Rv8O`XxYW-+bn+qLXI4D0{{-^t+7eYS0(G2kHvzcnU!;r#~buG=P!`J4^*lOp9k zPV+2EqDE%*rTYasswA4FkSb|0a8=XIAL{jbL_3ElI0af9tc_LyYogV_75dW_X@`f4 z-$AnuRd68bZtt1{=x*+sNuSQ=j}%t11};*sVM(kX%fQl!((x=|OPC~JC81psZwu>% UEu-L#Z~y=R07*qoM6N<$g4T9U5CzZ%f5*p<=|&MBxNzlTp$Ph6qTuhu8|b2h=pr+BNFjv~C?p(ir%6-S^z3py z^EMUCequG@nsAgrEs3H_!h632aDjGn&YjrUFn@MQ06W6?R|ok3dd5aez!Tt}5s;3~ z1_vlo4rQ>4&{rfK%7k)>z%BZYerlDp7;KGJ0b8Qgz*cBgumxHj%tlkdOf(JLqA%#@ z(UNz>I=#(Zq^aN^NqgKM0{zKBTY&d~?a&4t;27X{abRrSsggJYyUxLeF|>q%rEJ+0 zFbhjbn2A*fv$3jR3#=O03abLP#EQYd9x%x!T2sqBA|+1E!Cmel6yW&OOvh@JM1Ovy z4BeHqb(00000NkvXXu0mjf DT_&7` literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/saturnclient/textures/gui/emote/none.png b/src/main/resources/assets/saturnclient/textures/gui/emote/none.png new file mode 100644 index 0000000000000000000000000000000000000000..515541ccce3634ef0da47e6f73287436b5f7f935 GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^j3CU&3?x-=hn)g(ii6yp7;m1`sRwd63p^r=85p>Q zL70(Y)*K0-Aaj6Eh%1m@US)d=q@g6pFPOpM*^M+Hhs)E&F{ENnate^m!oZ}MvNj9I OV(@hJb6Mw<&;$SiR~nE2 literal 0 HcmV?d00001