diff --git a/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java b/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java index c14e08e35..04e22c578 100755 --- a/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java +++ b/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java @@ -319,21 +319,26 @@ void readPlayerLocale(Player player) { try { locale = player.locale(); } catch (NoSuchMethodError ignored) { - Field entityField = getEntityField(player); - if (entityField != null) { - Object nmsPlayer = entityField.get(player); - if (nmsPlayer != null) { - Field localeField = nmsPlayer.getClass().getDeclaredField("locale"); - localeField.setAccessible(true); - Object localeString = localeField.get(nmsPlayer); - if (localeString instanceof String) { - if (!localeString.equals(issuersLocaleString.get(player.getUniqueId()))) { - String[] split = ACFPatterns.UNDERSCORE.split((String) localeString); - locale = split.length > 1 ? new Locale(split[0], split[1]) : new Locale(split[0]); - } + Object localeString = null; + try { + localeString = player.getLocale(); + } catch (NoSuchMethodError ignored1) { + Field entityField = getEntityField(player); + if (entityField != null) { + Object nmsPlayer = entityField.get(player); + if (nmsPlayer != null) { + Field localeField = nmsPlayer.getClass().getDeclaredField("locale"); + localeField.setAccessible(true); + localeString = localeField.get(nmsPlayer); } } } + if (localeString instanceof String) { + if (!localeString.equals(issuersLocaleString.get(player.getUniqueId()))) { + String[] split = ACFPatterns.UNDERSCORE.split((String) localeString); + locale = split.length > 1 ? new Locale(split[0], split[1]) : new Locale(split[0]); + } + } } if (locale != null) { UUID playerUniqueId = player.getUniqueId();