From 1f3b0516a644fe37fdee0626f137dd65d4fcd88d Mon Sep 17 00:00:00 2001 From: MiniDigger Date: Fri, 26 May 2017 23:31:07 +0200 Subject: SPIGOT-439: Add player locale related APIs. --- src/main/java/org/bukkit/entity/Player.java | 13 ++++++++ .../event/player/PlayerLocaleChangeEvent.java | 37 ++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 src/main/java/org/bukkit/event/player/PlayerLocaleChangeEvent.java (limited to 'src/main') diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java index 92604ab3..33f6e6dc 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -1403,4 +1403,17 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline * @return object detailing the player's progress */ public AdvancementProgress getAdvancementProgress(Advancement advancement); + + /** + * Gets the player's current locale. + * + * The value of the locale String is not defined properly. + *
+ * The vanilla Minecraft client will use lowercase language / country pairs + * separated by an underscore, but custom resource packs may use any format + * they wish. + * + * @return the player's locale + */ + public String getLocale(); } diff --git a/src/main/java/org/bukkit/event/player/PlayerLocaleChangeEvent.java b/src/main/java/org/bukkit/event/player/PlayerLocaleChangeEvent.java new file mode 100644 index 00000000..fbbfcccc --- /dev/null +++ b/src/main/java/org/bukkit/event/player/PlayerLocaleChangeEvent.java @@ -0,0 +1,37 @@ +package org.bukkit.event.player; + +import org.bukkit.entity.Player; +import org.bukkit.event.HandlerList; + +/** + * Called when a player changes their locale in the client settings. + */ +public class PlayerLocaleChangeEvent extends PlayerEvent { + + private static final HandlerList handlers = new HandlerList(); + // + private final String locale; + + public PlayerLocaleChangeEvent(Player who, String locale) { + super(who); + this.locale = locale; + } + + /** + * @see Player#getLocale() + * + * @return the player's new locale + */ + public String getLocale() { + return locale; + } + + @Override + public HandlerList getHandlers() { + return handlers; + } + + public static HandlerList getHandlerList() { + return handlers; + } +} -- cgit v1.2.3