Paper/Spigot-Server-Patches/0046-Add-PlayerLocaleChangeEvent.patch
2015-04-27 21:44:11 -05:00

46 lines
2 KiB
Diff

From de519945cdd57668fc80157cdef41431a3e40373 Mon Sep 17 00:00:00 2001
From: Isaac Moore <rmsy@me.com>
Date: Mon, 27 Apr 2015 21:41:39 -0500
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 3854edf..bf83faa 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -992,7 +992,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 211c421..0950b8a 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -950,4 +950,13 @@ public class CraftEventFactory {
entityHuman.world.getServer().getPluginManager().callEvent(event);
return (Cancellable) 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
}
--
1.9.1