From d9c89e1dc68552cd9eb3f301223cf99f0a8b082e Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Mon, 10 Jun 2024 06:15:48 +0800 Subject: [PATCH] Remove locale data from locale map when player quit to save mem --- src/main/java/fr/xephi/authme/listener/PlayerListener.java | 7 +++++++ src/main/java/fr/xephi/authme/util/message/I18NUtils.java | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/src/main/java/fr/xephi/authme/listener/PlayerListener.java b/src/main/java/fr/xephi/authme/listener/PlayerListener.java index e435b9c2..9b8a4525 100644 --- a/src/main/java/fr/xephi/authme/listener/PlayerListener.java +++ b/src/main/java/fr/xephi/authme/listener/PlayerListener.java @@ -16,9 +16,11 @@ import fr.xephi.authme.service.ValidationService; import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.SpawnLoader; import fr.xephi.authme.settings.properties.HooksSettings; +import fr.xephi.authme.settings.properties.PluginSettings; import fr.xephi.authme.settings.properties.RegistrationSettings; import fr.xephi.authme.settings.properties.RestrictionSettings; import fr.xephi.authme.util.TeleportUtils; +import fr.xephi.authme.util.message.I18NUtils; import fr.xephi.authme.util.message.MiniMessageUtils; import org.bukkit.ChatColor; import org.bukkit.Location; @@ -248,6 +250,11 @@ public class PlayerListener implements Listener { } } + // Remove data from locale map when player quit + if (settings.getProperty(PluginSettings.I18N_MESSAGES)) { + I18NUtils.removeLocale(player.getUniqueId()); + } + if (antiBotService.wasPlayerKicked(player.getName())) { return; } diff --git a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java index ff68b5ab..da1d6769 100644 --- a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java +++ b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java @@ -60,6 +60,10 @@ public class I18NUtils { PLAYER_LOCALE.put(uuid, locale); } + public static void removeLocale(UUID uuid) { + PLAYER_LOCALE.remove(uuid); + } + /** * Returns the AuthMe messages file language code, by given locale and settings. * Dreeam - Hard mapping, based on mc1.20.6, 5/29/2024