diff --git a/src/main/java/org/saturnclient/client/ServiceClient.java b/src/main/java/org/saturnclient/client/ServiceClient.java index ffbe86d..2e9bbf5 100644 --- a/src/main/java/org/saturnclient/client/ServiceClient.java +++ b/src/main/java/org/saturnclient/client/ServiceClient.java @@ -6,7 +6,7 @@ import java.util.List; import java.util.concurrent.TimeUnit; import org.saturnclient.client.player.SaturnPlayer; -import org.saturnclient.common.bindings.SaturnClientBindings; +import org.saturnclient.common.provider.Providers; import dev.selimaj.session.Session; @@ -27,30 +27,30 @@ public class ServiceClient { } public static boolean authenticate() { - SaturnClientBindings.platform().onClientStopping(() -> { + Providers.saturn.onClientStopping(() -> { if (session != null) { try { session.close(); } catch (Exception e) { - SaturnClientBindings.platform().logError("Unable to close Saturn session", e); + Providers.saturn.logError("Unable to close Saturn session", e); } } }); try { - String accessToken = SaturnClientBindings.platform().getAccessToken(); - uuid = SaturnClientBindings.platform().getUuid(); - String username = SaturnClientBindings.platform().getUsername(); + String accessToken = Providers.saturn.getAccessToken(); + uuid = Providers.saturn.getUuid(); + String username = Providers.saturn.getUsername(); if (accessToken == null || uuid == null || username == null) { - SaturnClientBindings.platform().logError("No active Minecraft session found"); + Providers.saturn.logError("No active Minecraft session found"); return false; } - SaturnClientBindings.platform().logInfo("Authenticating with UUID: " + uuid); + Providers.saturn.logInfo("Authenticating with UUID: " + uuid); if (!connectTimeout()) { - SaturnClientBindings.platform().logError("Unable to authenticate: Session Server Timeout"); + Providers.saturn.logError("Unable to authenticate: Session Server Timeout"); return false; } @@ -71,7 +71,7 @@ public class ServiceClient { return true; } catch (Exception e) { - SaturnClientBindings.platform().logError("Authentication failed", e); + Providers.saturn.logError("Authentication failed", e); return false; } } @@ -91,7 +91,7 @@ public class ServiceClient { } }); } catch (Exception e) { - SaturnClientBindings.platform().logError("Failed to set cloak (service): ", e); + Providers.saturn.logError("Failed to set cloak (service): ", e); } } @@ -110,7 +110,7 @@ public class ServiceClient { } }); } catch (Exception e) { - SaturnClientBindings.platform().logError("Failed to set hat (service): ", e); + Providers.saturn.logError("Failed to set hat (service): ", e); } } @@ -124,7 +124,7 @@ public class ServiceClient { } }); } catch (Exception e) { - SaturnClientBindings.platform().logError("Failed to buy cloak (service): ", e); + Providers.saturn.logError("Failed to buy cloak (service): ", e); } } @@ -138,7 +138,7 @@ public class ServiceClient { } }); } catch (Exception e) { - SaturnClientBindings.platform().logError("Failed to buy hat (service): ", e); + Providers.saturn.logError("Failed to buy hat (service): ", e); } } @@ -152,7 +152,7 @@ public class ServiceClient { } }); } catch (Exception e) { - SaturnClientBindings.platform().logError("Failed to emote (service): ", e); + Providers.saturn.logError("Failed to emote (service): ", e); } } @@ -169,9 +169,9 @@ public class ServiceClient { } if (data.emote() != null && !data.emote().isEmpty()) { - SaturnClientBindings.emotes().setEmote(from, data.emote()); + Providers.saturn.playEmote(from, data.emote()); } else { - SaturnClientBindings.emotes().setEmote(from, null); + Providers.saturn.playEmote(from, null); } }); @@ -192,7 +192,7 @@ public class ServiceClient { } }); } catch (Exception e) { - SaturnClientBindings.platform().logError("Failed to get player", e); + Providers.saturn.logError("Failed to get player", e); } } } diff --git a/src/main/java/org/saturnclient/client/player/SaturnPlayer.java b/src/main/java/org/saturnclient/client/player/SaturnPlayer.java index 7707eae..a2a32c9 100644 --- a/src/main/java/org/saturnclient/client/player/SaturnPlayer.java +++ b/src/main/java/org/saturnclient/client/player/SaturnPlayer.java @@ -4,7 +4,7 @@ import java.util.HashMap; import java.util.Map; import java.util.UUID; -import org.saturnclient.common.bindings.SaturnClientBindings; +import org.saturnclient.client.ServiceClient; public class SaturnPlayer { private static Map PLAYERS = new HashMap<>(); @@ -23,11 +23,10 @@ public class SaturnPlayer { } public static SaturnPlayer get() { - UUID self = SaturnClientBindings.platform().getUuid(); - if (self == null) { + if (ServiceClient.uuid == null) { return null; } - return PLAYERS.get(self); + return PLAYERS.get(ServiceClient.uuid); } public static SaturnPlayer get(UUID uuid) { @@ -47,8 +46,8 @@ public class SaturnPlayer { } public static String[] getExternalUUIDAsString() { - UUID self = SaturnClientBindings.platform().getUuid(); - return PLAYERS.keySet().stream().filter(id -> self == null || !id.equals(self)).map(UUID::toString) + return PLAYERS.keySet().stream().filter(id -> ServiceClient.uuid == null || !id.equals(ServiceClient.uuid)) + .map(UUID::toString) .toArray(String[]::new); } diff --git a/src/main/java/org/saturnclient/common/bindings/SaturnClientBindings.java b/src/main/java/org/saturnclient/common/bindings/SaturnClientBindings.java deleted file mode 100644 index 21decf5..0000000 --- a/src/main/java/org/saturnclient/common/bindings/SaturnClientBindings.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.saturnclient.common.bindings; - -public final class SaturnClientBindings { - private static SaturnPlatformBindings platform; - private static SaturnEmoteBindings emotes; - - private SaturnClientBindings() { - } - - public static void setPlatform(SaturnPlatformBindings bindings) { - platform = bindings; - } - - public static SaturnPlatformBindings platform() { - if (platform == null) { - throw new IllegalStateException("SaturnPlatformBindings not initialized"); - } - return platform; - } - - public static void setEmotes(SaturnEmoteBindings bindings) { - emotes = bindings; - } - - public static SaturnEmoteBindings emotes() { - if (emotes == null) { - throw new IllegalStateException("SaturnEmoteBindings not initialized"); - } - return emotes; - } -} diff --git a/src/main/java/org/saturnclient/common/bindings/SaturnEmoteBindings.java b/src/main/java/org/saturnclient/common/bindings/SaturnEmoteBindings.java deleted file mode 100644 index a28f656..0000000 --- a/src/main/java/org/saturnclient/common/bindings/SaturnEmoteBindings.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.saturnclient.common.bindings; - -import java.util.UUID; - -public interface SaturnEmoteBindings { - void setEmote(UUID fromPlayerUuid, String emoteIdOrNull); -} diff --git a/src/main/java/org/saturnclient/common/bindings/SaturnPlatformBindings.java b/src/main/java/org/saturnclient/common/bindings/SaturnPlatformBindings.java deleted file mode 100644 index 89cc826..0000000 --- a/src/main/java/org/saturnclient/common/bindings/SaturnPlatformBindings.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.saturnclient.common.bindings; - -import java.util.UUID; - -public interface SaturnPlatformBindings { - String getAccessToken(); - - UUID getUuid(); - - String getUsername(); - - void onClientStopping(Runnable handler); - - void logInfo(String message); - - void logError(String message); - - void logError(String message, Throwable throwable); -} diff --git a/src/main/java/org/saturnclient/common/provider/SaturnProvider.java b/src/main/java/org/saturnclient/common/provider/SaturnProvider.java index a6ae479..a7e60d3 100644 --- a/src/main/java/org/saturnclient/common/provider/SaturnProvider.java +++ b/src/main/java/org/saturnclient/common/provider/SaturnProvider.java @@ -4,11 +4,28 @@ import org.saturnclient.common.ref.asset.IdentifierRef; import org.saturnclient.common.ref.game.MinecraftClientRef; import java.awt.image.BufferedImage; +import java.util.UUID; public interface SaturnProvider { - public abstract MinecraftClientRef getClient(); + public MinecraftClientRef getClient(); - public abstract void registerBufferedImageTexture(IdentifierRef i, BufferedImage bi); + public void playEmote(UUID fromPlayerUuid, String emoteIdOrNull); - public abstract void stop(); + public String getAccessToken(); + + public UUID getUuid(); + + public String getUsername(); + + public void onClientStopping(Runnable handler); + + public void logInfo(String message); + + public void logError(String message); + + public void logError(String message, Throwable throwable); + + public void stop(); + + public void registerBufferedImageTexture(IdentifierRef i, BufferedImage bi); } diff --git a/src/main/java/org/saturnclient/ui/screens/EmoteWheel.java b/src/main/java/org/saturnclient/ui/screens/EmoteWheel.java index 261f5b6..671953d 100644 --- a/src/main/java/org/saturnclient/ui/screens/EmoteWheel.java +++ b/src/main/java/org/saturnclient/ui/screens/EmoteWheel.java @@ -2,7 +2,7 @@ package org.saturnclient.ui.screens; import org.saturnclient.cosmetics.Emotes; import org.saturnclient.client.ServiceClient; -import org.saturnclient.common.bindings.SaturnClientBindings; +import org.saturnclient.common.provider.Providers; import org.saturnclient.config.AnimationConfig; import org.saturnclient.config.Config; import org.saturnclient.ui.SaturnScreen; @@ -82,9 +82,7 @@ public class EmoteWheel extends SaturnScreen { emoteStagger.draw( new TextureButton(Textures.getEmotePreview(emote), () -> { - if (emote != null) - SaturnClientBindings.emotes().setEmote(ServiceClient.uuid, emote); - + Providers.saturn.playEmote(ServiceClient.uuid, emote); provider.close(); }) .dimensions(70, 70)