diff --git a/SpigotCore_Main/src/de/steamwar/sql/SQLProvider.java b/SpigotCore_Main/src/de/steamwar/sql/SQLProvider.java index 6e71127..79f2172 100644 --- a/SpigotCore_Main/src/de/steamwar/sql/SQLProvider.java +++ b/SpigotCore_Main/src/de/steamwar/sql/SQLProvider.java @@ -334,7 +334,7 @@ public class SQLProvider implements Provider { String dbLocale = rs.getString("Locale"); Locale locale = null; if (dbLocale != null) { - locale = new Locale(dbLocale); + locale = Locale.forLanguageTag(dbLocale); } return new SteamwarUser(rs.getInt("id"), UUID.fromString(rs.getString("UUID")), rs.getString("UserName"), UserGroup.getUsergroup(rs.getString("UserGroup")), rs.getInt("Team"), rs.getBoolean("Bedrock"), locale); } diff --git a/SpigotCore_Main/src/de/steamwar/sql/SteamwarUser.java b/SpigotCore_Main/src/de/steamwar/sql/SteamwarUser.java index 6020000..04bcbf8 100644 --- a/SpigotCore_Main/src/de/steamwar/sql/SteamwarUser.java +++ b/SpigotCore_Main/src/de/steamwar/sql/SteamwarUser.java @@ -42,10 +42,9 @@ public class SteamwarUser { } public static void invalidate(int userId) { - if (!byId.containsKey(userId)) + SteamwarUser user = byId.remove(userId); + if (user == null) return; - SteamwarUser user = byId.get(userId); - byId.remove(userId); byName.remove(user.getUserName()); byUUID.remove(user.getUUID()); } @@ -98,13 +97,11 @@ public class SteamwarUser { public Locale getLocale() { Locale locale = this.locale; - if (locale == null) { + if (locale == null) locale = WorldOfColorWrapper.impl.getLocale(Bukkit.getPlayer(uuid)); - } - if (locale == null) { - locale = Locale.getDefault(); - } - return locale; + if (locale != null) + return locale; + return Locale.getDefault(); } public static SteamwarUser get(String userName){