aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0146-Implement-getI18NDisplayName.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0146-Implement-getI18NDisplayName.patch')
-rw-r--r--patches/server/0146-Implement-getI18NDisplayName.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/patches/server/0146-Implement-getI18NDisplayName.patch b/patches/server/0146-Implement-getI18NDisplayName.patch
new file mode 100644
index 0000000000..d9dee100a5
--- /dev/null
+++ b/patches/server/0146-Implement-getI18NDisplayName.patch
@@ -0,0 +1,32 @@
+From 0000000000000000000000000000000000000000 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/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+index 73da393b26a7afd766b23716da454b0b68c26d5b..3e23fb314ec8c89643b900816075a3542b8bb890 100644
+--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+@@ -362,5 +362,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.world.item.ItemStack nms = null;
++ if (item instanceof CraftItemStack) {
++ nms = ((CraftItemStack) item).handle;
++ }
++ if (nms == null) {
++ nms = CraftItemStack.asNMSCopy(item);
++ }
++
++ return nms != null ? net.minecraft.locale.Language.getInstance().getOrDefault(nms.getItem().getDescriptionId(nms)) : null;
++ }
+ // Paper end
+ }