papermc/Spigot-Server-Patches/0041-Add-PlayerLocaleChangeEvent.patch
2015-10-02 22:58:02 -05:00

45 lines
2 KiB
Diff

From 8dff59c6bbe54bad21324805a3302cf346c987c9 Mon Sep 17 00:00:00 2001
From: Isaac Moore <rmsy@me.com>
Date: Fri, 27 Mar 2015 00:52:24 -0400
Subject: [PATCH] Add PlayerLocaleChangeEvent
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 3810f86..be50b55 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -995,7 +995,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
}
public void a(PacketPlayInSettings packetplayinsettings) {
+ // PaperSpigot start - Add PlayerLocaleChangeEvent
+ String oldLocale = this.locale;
this.locale = packetplayinsettings.a();
+ if (!this.locale.equals(oldLocale)) {
+ CraftEventFactory.callPlayerLocaleChangeEvent(this, oldLocale, this.locale);
+ }
+ // PaperSpigot end
this.bR = packetplayinsettings.c();
this.bS = packetplayinsettings.d();
this.getDataWatcher().watch(10, Byte.valueOf((byte) packetplayinsettings.e()));
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 147b928..db91503 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -970,4 +970,13 @@ public class CraftEventFactory {
firework.world.getServer().getPluginManager().callEvent(event);
return event;
}
+
+ // PaperSpigot start - Add PlayerLocaleChangeEvent
+ public static PlayerLocaleChangeEvent callPlayerLocaleChangeEvent(EntityHuman who, String oldLocale, String newLocale) {
+ Player player = (Player) who.getBukkitEntity();
+ PlayerLocaleChangeEvent event = new PlayerLocaleChangeEvent(player, oldLocale, newLocale);
+ Bukkit.getPluginManager().callEvent(event);
+ return event;
+ }
+ // PaperSpigot end
}
--
2.6.0