UI service auth refactored

This commit is contained in:
2026-02-20 03:38:05 +01:00
parent 50da953dc4
commit 68519ac00c
7 changed files with 38 additions and 42 deletions
@@ -4,6 +4,8 @@ import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import org.saturnclient.saturnclient.client.ServiceClient;
public class SaturnPlayer {
private static Map<UUID, SaturnPlayer> PLAYERS = new HashMap<>();
private static Map<String, UUID> PLAYER_NAMES = new HashMap<>();
@@ -20,6 +22,10 @@ public class SaturnPlayer {
this.name = name;
}
public static SaturnPlayer get() {
return PLAYERS.get(ServiceClient.uuid);
}
public static SaturnPlayer get(UUID uuid) {
return PLAYERS.get(uuid);
}
@@ -15,12 +15,14 @@ public class Hats {
availableHats.add(0, "");
}
public static void setHat(UUID uuid, String hatName) {
setHatSilent(uuid, hatName);
ServiceClient.setHat(hatName);
public static void setHat(String hatName) {
if (availableHats.contains(hatName)) {
setHat(ServiceClient.uuid, hatName);
ServiceClient.setHat(hatName);
}
}
public static void setHatSilent(UUID uuid, String hatName) {
public static void setHat(UUID uuid, String hatName) {
SaturnPlayer player = SaturnPlayer.get(uuid);
if (player == null) {
// Auth.players.put(uuid, new SaturnPlayer("", hatName));
@@ -55,25 +55,15 @@ public class Cloaks {
availableCloaks.add(0, "");
}
/**
* Handles loading and caching of a new cloak texture.
*
* @param cloakName Name of the cloak file to load
*/
public static void setCloak(UUID uuid, String cloakName) {
setCloakSilent(uuid, cloakName);
SaturnClient.LOGGER.info("Cloak set to " + cloakName);
}
/**
* Sets cloak of the current player
*
* @param cloakName Name of the cloak file to load
*/
public static void setCloak(String cloakName) {
ServiceClient.setCloak(cloakName);
if (availableCloaks.contains(cloakName)) {
setCloak(ServiceClient.uuid, cloakName);
ServiceClient.setCloak(cloakName);
}
}
@@ -83,7 +73,7 @@ public class Cloaks {
*
* @param cloakName Name of the cloak file to load
*/
public static void setCloakSilent(UUID uuid, String cloakName) {
public static void setCloak(UUID uuid, String cloakName) {
SaturnPlayer player = SaturnPlayer.get(uuid);
if (player == null) {
@@ -7,7 +7,6 @@ import net.minecraft.client.util.InputUtil;
import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.SaturnClientConfig;
import org.saturnclient.saturnclient.auth.Auth;
import org.saturnclient.ui2.screens.EmoteWheel;
import org.saturnclient.ui2.screens.ShiftMenu;
@@ -1,7 +1,6 @@
package org.saturnclient.ui2.screens.cosmetics;
import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.auth.Auth;
import org.saturnclient.saturnclient.client.player.SaturnPlayer;
import org.saturnclient.saturnclient.cosmetics.cloaks.Cloaks;
import org.saturnclient.ui2.resources.Textures;
@@ -27,15 +26,15 @@ public class CloakMenu extends SaturnScreen {
int row = 0;
int col = 0;
SaturnPlayer player = Auth.players.get(Auth.uuid);
SaturnPlayer player = SaturnPlayer.get();
if (player != null) {
for (String cloak : Cloaks.availableCloaks) {
scroll.draw(new CosmeticPreview(cloak == player.cloak, Textures.getCloakPreview(cloak), () -> {
Cloaks.setCloak(cloak);
}).position((50 + g) * col, (111 + g) * row));
if (col == 5) {
col = 0;
row++;
@@ -46,18 +45,18 @@ public class CloakMenu extends SaturnScreen {
}
int scrollWidth = 480 + 10 + (g * 2) + (p * 2);
draw(scroll.dimensions(scrollWidth, 350).center(width, height));
draw(new SkinPreview(-30.0f, false).scale(3.5f).position(scroll.x + (scrollWidth - 220), scroll.y+40));
draw(new SkinPreview(-30.0f, false).scale(3.5f).position(scroll.x + (scrollWidth - 220), scroll.y + 40));
draw(new Sidebar(2, this::close).centerOffset(width, height, -(scrollWidth / 2 + 20), 0));
draw(new TabMenu(0,
new TabMenuComponent(Textures.CLOAK, () -> {}),
new TabMenuComponent(Textures.HAT, () -> {
SaturnClient.client.setScreen(new HatMenu());
})
).centerOffset(width, height, 0, -195));
new TabMenuComponent(Textures.CLOAK, () -> {
}),
new TabMenuComponent(Textures.HAT, () -> {
SaturnClient.client.setScreen(new HatMenu());
})).centerOffset(width, height, 0, -195));
}
}
@@ -1,7 +1,6 @@
package org.saturnclient.ui2.screens.cosmetics;
import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.auth.Auth;
import org.saturnclient.saturnclient.client.player.SaturnPlayer;
import org.saturnclient.saturnclient.cosmetics.Hats;
import org.saturnclient.ui2.resources.Textures;
@@ -27,15 +26,15 @@ public class HatMenu extends SaturnScreen {
int row = 0;
int col = 0;
SaturnPlayer player = Auth.players.get(Auth.uuid);
SaturnPlayer player = SaturnPlayer.get();
if (player != null) {
for (String hat : Hats.availableHats) {
scroll.draw(new CosmeticPreview(hat == player.hat, Textures.getHatPreview(hat), () -> {
Hats.setHat(Auth.uuid, hat);
Hats.setHat(hat);
}).dimensions(50, 50).position((50 + g) * col, (50 + g) * row));
if (col == 5) {
col = 0;
row++;
@@ -46,18 +45,18 @@ public class HatMenu extends SaturnScreen {
}
int scrollWidth = 480 + 10 + (g * 2) + (p * 2);
draw(scroll.dimensions(scrollWidth, 350).center(width, height));
draw(new SkinPreview(170f, true).scale(3.5f).position(scroll.x + (scrollWidth - 220), scroll.y+40));
draw(new SkinPreview(170f, true).scale(3.5f).position(scroll.x + (scrollWidth - 220), scroll.y + 40));
draw(new Sidebar(2, this::close).centerOffset(width, height, -(scrollWidth / 2 + 20), 0));
draw(new TabMenu(1,
new TabMenuComponent(Textures.CLOAK, () -> {
SaturnClient.client.setScreen(new CloakMenu());
}),
new TabMenuComponent(Textures.HAT, () -> {})
).centerOffset(width, height, 0, -195));
new TabMenuComponent(Textures.CLOAK, () -> {
SaturnClient.client.setScreen(new CloakMenu());
}),
new TabMenuComponent(Textures.HAT, () -> {
})).centerOffset(width, height, 0, -195));
}
}
@@ -1,6 +1,7 @@
package org.saturnclient.ui2.screens.store;
import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.client.ServiceClient;
import org.saturnclient.saturnclient.client.player.SaturnPlayer;
import org.saturnclient.saturnclient.cosmetics.cloaks.Cloaks;
import org.saturnclient.ui2.SaturnScreen;
@@ -41,7 +42,7 @@ public class CloakStore extends SaturnScreen {
int row = 0;
int col = 0;
SaturnPlayer player = Auth.players.get(Auth.uuid);
SaturnPlayer player = SaturnPlayer.get();
if (player != null) {
for (String cloak : Cloaks.ALL_CLOAKS) {
@@ -53,7 +54,7 @@ public class CloakStore extends SaturnScreen {
long now = System.currentTimeMillis();
if (now - lastPurchaseTime >= 3000) {
Utils.notify(NotificationKind.Info, "Purchase processing", "Please wait");
Auth.buyCloak(cloak);
ServiceClient.buyCloak(cloak);
lastPurchaseTime = now;
new Thread(() -> {
try {