From 115a3f0ff14bf94b0ea6bf5a74f1905136286847 Mon Sep 17 00:00:00 2001 From: HuJyunKai Date: Sat, 17 Aug 2024 09:53:01 +0000 Subject: [PATCH] Fix issue https://github.com/games647/FastLogin/issues/1246 --- .../fastlogin/core/shared/FloodgateManagement.java | 7 +++++++ .../fastlogin/core/shared/ForceLoginManagement.java | 8 +++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/com/github/games647/fastlogin/core/shared/FloodgateManagement.java b/core/src/main/java/com/github/games647/fastlogin/core/shared/FloodgateManagement.java index 6938ed85f..4a1f86479 100644 --- a/core/src/main/java/com/github/games647/fastlogin/core/shared/FloodgateManagement.java +++ b/core/src/main/java/com/github/games647/fastlogin/core/shared/FloodgateManagement.java @@ -167,6 +167,13 @@ public void run() { return; } + // Set the UUID for the player login from floodgate. + if (isLinked && profile.isOnlinemodePreferred()) { + profile.setId(floodgatePlayer.getCorrectUniqueId()); + core.getPlugin().getLog().info( + "Player {} login as a Floodgate linked premium user (UUID: {})", + username, floodgatePlayer.getCorrectUniqueId()); + } //start Bukkit/Bungee specific tasks startLogin(); diff --git a/core/src/main/java/com/github/games647/fastlogin/core/shared/ForceLoginManagement.java b/core/src/main/java/com/github/games647/fastlogin/core/shared/ForceLoginManagement.java index 863d9803e..ca7c66e15 100644 --- a/core/src/main/java/com/github/games647/fastlogin/core/shared/ForceLoginManagement.java +++ b/core/src/main/java/com/github/games647/fastlogin/core/shared/ForceLoginManagement.java @@ -80,7 +80,13 @@ public void run() { if (success) { //update only on success to prevent corrupt data if (playerProfile != null) { - playerProfile.setId(session.getUuid()); + if (session.getUuid() == null) { + // Set session ID from floodgatePlayer.getCorrectUniqueId() + session.setUuid(playerProfile.getId()); + } else { + // Set player UUID to session UUID + playerProfile.setId(session.getUuid()); + } playerProfile.setOnlinemodePreferred(true); storage.save(playerProfile); }