Server.getLocale returns en_us even if player is using a different locale.
For testing purposes, and to make sure that there is no intereference with other plugins, I made a new server with only one plugin (see attachment) with the following code:
public void onEnable() { Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() { @Override public void run() { for (Player p : Bukkit.getOnlinePlayers()) { System.out.println(" - locale of " + p.getName() + " is " + p.getLocale()); } } }, 100, 200); }
The output is always en_us.
This works fine in 1.15.2 (haven't tested previous versions), giving the selected locale (only the first output after login sometimes is en_us). Locale changes during the game also result in the correct locale shown in 1.15.2 and en_us in 1.16.1.