aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches/0191-Implement-getI18NDisplayName.patch
diff options
context:
space:
mode:
Diffstat (limited to 'Spigot-Server-Patches/0191-Implement-getI18NDisplayName.patch')
-rw-r--r--Spigot-Server-Patches/0191-Implement-getI18NDisplayName.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/Spigot-Server-Patches/0191-Implement-getI18NDisplayName.patch b/Spigot-Server-Patches/0191-Implement-getI18NDisplayName.patch
new file mode 100644
index 0000000000..c04d505a6c
--- /dev/null
+++ b/Spigot-Server-Patches/0191-Implement-getI18NDisplayName.patch
@@ -0,0 +1,52 @@
+From d7ec5666d9d230e0ce0dec15ff7e7d659c75f5dc Mon Sep 17 00:00:00 2001
+From: Aikar <[email protected]>
+Date: Wed, 4 May 2016 23:59:38 -0400
+Subject: [PATCH] Implement getI18NDisplayName
+
+Gets the Display name as seen in the Client.
+Currently the server only supports the English language. To override this,
+You must replace the language file embedded in the server jar.
+
+diff --git a/src/main/java/net/minecraft/server/LocaleLanguage.java b/src/main/java/net/minecraft/server/LocaleLanguage.java
+index 747b8ad4de..4c5556a096 100644
+--- a/src/main/java/net/minecraft/server/LocaleLanguage.java
++++ b/src/main/java/net/minecraft/server/LocaleLanguage.java
+@@ -44,10 +44,12 @@ public class LocaleLanguage {
+
+ }
+
++ public static LocaleLanguage getInstance() { return a(); } // Paper - OBFHELPER
+ public static LocaleLanguage a() {
+ return LocaleLanguage.c;
+ }
+
++ public synchronized String translateKey(String key) { return a(key); } // Paper - OBFHELPER
+ public synchronized String a(String s) {
+ return this.c(s);
+ }
+diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+index f5fa58d6cc..3a6e6f687d 100644
+--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+@@ -299,5 +299,18 @@ public final class CraftItemFactory implements ItemFactory {
+ public ItemStack ensureServerConversions(ItemStack item) {
+ return CraftItemStack.asCraftMirror(CraftItemStack.asNMSCopy(item));
+ }
++
++ @Override
++ public String getI18NDisplayName(ItemStack item) {
++ net.minecraft.server.ItemStack nms = null;
++ if (item instanceof CraftItemStack) {
++ nms = ((CraftItemStack) item).handle;
++ }
++ if (nms == null) {
++ nms = CraftItemStack.asNMSCopy(item);
++ }
++
++ return nms != null ? net.minecraft.server.LocaleLanguage.getInstance().translateKey(nms.getItem().getName()) : null;
++ }
+ // Paper end
+ }
+--
+2.21.0
+