mirror of
https://github.com/PaperMC/Paper.git
synced 2024-09-12 15:08:27 +02:00
The display name includes formatting such as item hover event, display name (in italics if renamed in anvil), and color based on rarity. This is what vanilla uses for give command feedback, and when an item is shown in a death message.
59 lines
2.6 KiB
Diff
59 lines
2.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
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/locale/LocaleLanguage.java b/src/main/java/net/minecraft/locale/LocaleLanguage.java
|
|
index 9b8d5e7e4c86a699e26b1b4d0b82e88887a44054..5218214225b50ac4059ab704086a457318e93e00 100644
|
|
--- a/src/main/java/net/minecraft/locale/LocaleLanguage.java
|
|
+++ b/src/main/java/net/minecraft/locale/LocaleLanguage.java
|
|
@@ -30,7 +30,7 @@ public abstract class LocaleLanguage {
|
|
|
|
private static LocaleLanguage c() {
|
|
Builder<String, String> builder = ImmutableMap.builder();
|
|
- BiConsumer biconsumer = builder::put;
|
|
+ BiConsumer<String, String> biconsumer = builder::put; // Paper - decompile fix
|
|
|
|
try {
|
|
InputStream inputstream = LocaleLanguage.class.getResourceAsStream("/assets/minecraft/lang/en_us.json");
|
|
@@ -87,10 +87,12 @@ public abstract class LocaleLanguage {
|
|
|
|
}
|
|
|
|
+ public static LocaleLanguage getInstance() { return a(); } // Paper - OBFHELPER
|
|
public static LocaleLanguage a() {
|
|
return LocaleLanguage.d;
|
|
}
|
|
|
|
+ public String translateKey(String key) { return a(key); } // Paper - OBFHELPER
|
|
public abstract String a(String s);
|
|
|
|
public abstract boolean b(String s);
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
|
|
index 8206e85cefb0b02b1ac9b370808c06019211cdb1..910c6109783dfef86e127a0a5b7d7d3865150d89 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
|
|
@@ -352,5 +352,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.LocaleLanguage.getInstance().translateKey(nms.getItem().getName()) : null;
|
|
+ }
|
|
// Paper end
|
|
}
|