From 2e72fc5d6b2b76dc90b3c6de2dfd556f49d496d1 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Sun, 8 Mar 2026 11:05:40 +0100 Subject: [PATCH] Improved separation --- .../java/org/saturnclient/client/ServiceClient.java | 11 +++++++---- .../saturnclient/common/provider/SaturnProvider.java | 10 ---------- .../common/ref/game/MinecraftClientRef.java | 11 +++++++++++ .../java/org/saturnclient/ui/screens/TitleMenu.java | 2 +- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/main/java/org/saturnclient/client/ServiceClient.java b/src/main/java/org/saturnclient/client/ServiceClient.java index 2e9bbf5..d617b55 100644 --- a/src/main/java/org/saturnclient/client/ServiceClient.java +++ b/src/main/java/org/saturnclient/client/ServiceClient.java @@ -7,6 +7,7 @@ import java.util.concurrent.TimeUnit; import org.saturnclient.client.player.SaturnPlayer; import org.saturnclient.common.provider.Providers; +import org.saturnclient.common.ref.game.MinecraftClientRef; import dev.selimaj.session.Session; @@ -27,7 +28,9 @@ public class ServiceClient { } public static boolean authenticate() { - Providers.saturn.onClientStopping(() -> { + MinecraftClientRef client = Providers.saturn.getClient(); + + client.onClientStopping(() -> { if (session != null) { try { session.close(); @@ -38,9 +41,9 @@ public class ServiceClient { }); try { - String accessToken = Providers.saturn.getAccessToken(); - uuid = Providers.saturn.getUuid(); - String username = Providers.saturn.getUsername(); + String accessToken = client.getAccessToken(); + uuid = client.getUuid(); + String username = client.getUsername(); if (accessToken == null || uuid == null || username == null) { Providers.saturn.logError("No active Minecraft session found"); diff --git a/src/main/java/org/saturnclient/common/provider/SaturnProvider.java b/src/main/java/org/saturnclient/common/provider/SaturnProvider.java index a7e60d3..995fe2a 100644 --- a/src/main/java/org/saturnclient/common/provider/SaturnProvider.java +++ b/src/main/java/org/saturnclient/common/provider/SaturnProvider.java @@ -11,21 +11,11 @@ public interface SaturnProvider { public void playEmote(UUID fromPlayerUuid, String emoteIdOrNull); - 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/common/ref/game/MinecraftClientRef.java b/src/main/java/org/saturnclient/common/ref/game/MinecraftClientRef.java index 73bf340..ae460cb 100644 --- a/src/main/java/org/saturnclient/common/ref/game/MinecraftClientRef.java +++ b/src/main/java/org/saturnclient/common/ref/game/MinecraftClientRef.java @@ -2,6 +2,7 @@ package org.saturnclient.common.ref.game; import java.io.File; import java.io.InputStream; +import java.util.UUID; import org.saturnclient.common.ref.asset.IdentifierRef; import org.saturnclient.common.ref.render.WindowRef; @@ -23,4 +24,14 @@ public interface MinecraftClientRef { public void setScreen(SaturnScreen screen); public void setScreen(MinecraftScreen screen); + + public String getAccessToken(); + + public UUID getUuid(); + + public String getUsername(); + + public void onClientStopping(Runnable handler); + + public void scheduleStop(); } diff --git a/src/main/java/org/saturnclient/ui/screens/TitleMenu.java b/src/main/java/org/saturnclient/ui/screens/TitleMenu.java index d60855d..0b7bf09 100644 --- a/src/main/java/org/saturnclient/ui/screens/TitleMenu.java +++ b/src/main/java/org/saturnclient/ui/screens/TitleMenu.java @@ -48,7 +48,7 @@ public class TitleMenu extends SaturnScreen { .animation(new SlideFade(AnimationConfig.mainMenu, -10))); mainButtonStagger.draw(new Button("QUIT", () -> { - Providers.saturn.stop(); + Providers.saturn.getClient().scheduleStop(); }).scale(0.69f).dimensions(206, 52).position(146, 80) .animation(new SlideFade(AnimationConfig.mainMenu, -10)));