Skip to content

Commit f83d914

Browse files
committed
📝 Fix
1 parent edce252 commit f83d914

1 file changed

Lines changed: 15 additions & 13 deletions

File tree

src/main/java/fr/maxlego08/essentials/storage/storages/SqlStorage.java

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -219,19 +219,21 @@ public User createOrLoad(UUID uniqueId, String playerName) {
219219
this.localUUIDS.entrySet().removeIf(entry -> entry.getValue().equals(uniqueId) && !entry.getKey().equals(playerName));
220220
this.localUUIDS.put(playerName, uniqueId);
221221

222-
// Fix duplicate names: if other UUIDs still have this name, update them via Mojang API
223-
List<UserDTO> duplicates = with(UserRepository.class).selectUsers(playerName);
224-
for (UserDTO duplicate : duplicates) {
225-
if (duplicate.unique_id().equals(uniqueId)) continue;
226-
227-
String currentName = fetchNameFromMojang(duplicate.unique_id());
228-
if (currentName != null && !currentName.equals(playerName)) {
229-
with(UserRepository.class).updateName(duplicate.unique_id(), currentName);
230-
this.localUUIDS.remove(playerName);
231-
this.localUUIDS.put(currentName, duplicate.unique_id());
232-
this.plugin.getLogger().info("Updated player name for UUID " + duplicate.unique_id() + " from '" + playerName + "' to '" + currentName + "' (detected duplicate name).");
233-
} else if (currentName == null) {
234-
this.plugin.getLogger().warning("Could not fetch current name from Mojang for UUID " + duplicate.unique_id() + " (duplicate name '" + playerName + "'). The player may have plugin inconsistencies.");
222+
// Fix duplicate names: if other UUIDs still have this name, update them via Mojang API (only in online mode)
223+
if (Bukkit.getOnlineMode()) {
224+
List<UserDTO> duplicates = with(UserRepository.class).selectUsers(playerName);
225+
for (UserDTO duplicate : duplicates) {
226+
if (duplicate.unique_id().equals(uniqueId)) continue;
227+
228+
String currentName = fetchNameFromMojang(duplicate.unique_id());
229+
if (currentName != null && !currentName.equals(playerName)) {
230+
with(UserRepository.class).updateName(duplicate.unique_id(), currentName);
231+
this.localUUIDS.remove(playerName);
232+
this.localUUIDS.put(currentName, duplicate.unique_id());
233+
this.plugin.getLogger().info("Updated player name for UUID " + duplicate.unique_id() + " from '" + playerName + "' to '" + currentName + "' (detected duplicate name).");
234+
} else if (currentName == null) {
235+
this.plugin.getLogger().warning("Could not fetch current name from Mojang for UUID " + duplicate.unique_id() + " (duplicate name '" + playerName + "'). The player may have plugin inconsistencies.");
236+
}
235237
}
236238
}
237239

0 commit comments

Comments
 (0)