diff --git a/src/main/java/fr/xephi/authme/message/Messages.java b/src/main/java/fr/xephi/authme/message/Messages.java index 833673f2..2877e484 100644 --- a/src/main/java/fr/xephi/authme/message/Messages.java +++ b/src/main/java/fr/xephi/authme/message/Messages.java @@ -121,13 +121,15 @@ public class Messages { * @return The message from the file */ private String retrieveMessage(MessageKey key, CommandSender sender) { - String locale = I18NUtils.getLocale(sender); + String locale = sender instanceof Player + ? I18NUtils.getLocale((Player) sender) + : null; String message = messagesFileHandler.getMessageByLocale(key.getKey(), locale); String displayName = sender.getName(); if (sender instanceof Player) { displayName = ((Player) sender).getDisplayName(); } - + return ChatColor.translateAlternateColorCodes('&', message) .replace(NEWLINE_TAG, "\n") .replace(USERNAME_TAG, sender.getName()) 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 a9ab1794..f7be5981 100644 --- a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java +++ b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java @@ -3,7 +3,6 @@ package fr.xephi.authme.util.message; import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.properties.PluginSettings; import fr.xephi.authme.util.Utils; -import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import java.lang.reflect.Method; @@ -29,27 +28,21 @@ public class I18NUtils { /** * Returns the locale that player uses. * - * @param sender The player + * @param player The player */ - public static String getLocale(CommandSender sender) { - String locale = null; + public static String getLocale(Player player) { + if (Utils.majorVersion >= 12) { + return player.getLocale().toLowerCase(); + } else { + try { + Object spigot = spigotMethod.invoke(player); + Method spigotGetLocaleMethod = spigot.getClass().getMethod("getLocale"); - if (sender instanceof Player) { - Player player = (Player) sender; - if (Utils.majorVersion >= 12) { - locale = player.getLocale().toLowerCase(); - } else { - try { - Object spigot = spigotMethod.invoke(player); - - Method spigotGetLocaleMethod = spigot.getClass().getMethod("getLocale"); - locale = ((String) spigotGetLocaleMethod.invoke(spigot)).toLowerCase(); - } catch (Exception ignored) { - } + return ((String) spigotGetLocaleMethod.invoke(spigot)).toLowerCase(); + } catch (Exception ignored) { + return null; } } - - return locale; } /**