geforkt von Mirrors/Paper
453c7f05c7
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.
52 Zeilen
2.7 KiB
Diff
52 Zeilen
2.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: ysl3000 <yannicklamprecht@live.de>
|
|
Date: Mon, 6 Jul 2020 22:18:04 +0200
|
|
Subject: [PATCH] Create HoverEvent from ItemStack Entity
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
|
|
index 910c6109783dfef86e127a0a5b7d7d3865150d89..347c23d4b7d47198f214c3f95354e8abb660b191 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
|
|
@@ -365,5 +365,40 @@ public final class CraftItemFactory implements ItemFactory {
|
|
|
|
return nms != null ? net.minecraft.locale.LocaleLanguage.getInstance().translateKey(nms.getItem().getName()) : null;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ public net.md_5.bungee.api.chat.hover.content.Content hoverContentOf(ItemStack itemStack) {
|
|
+ net.md_5.bungee.api.chat.ItemTag itemTag = net.md_5.bungee.api.chat.ItemTag.ofNbt(CraftItemStack.asNMSCopy(itemStack).getOrCreateTag().toString());
|
|
+ return new net.md_5.bungee.api.chat.hover.content.Item(
|
|
+ itemStack.getType().getKey().toString(),
|
|
+ itemStack.getAmount(),
|
|
+ itemTag);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public net.md_5.bungee.api.chat.hover.content.Content hoverContentOf(org.bukkit.entity.Entity entity) {
|
|
+ return hoverContentOf(entity, org.apache.commons.lang3.StringUtils.isBlank(entity.getCustomName()) ? null : new net.md_5.bungee.api.chat.TextComponent(entity.getCustomName()));
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public net.md_5.bungee.api.chat.hover.content.Content hoverContentOf(org.bukkit.entity.Entity entity, String customName) {
|
|
+ return hoverContentOf(entity, org.apache.commons.lang3.StringUtils.isBlank(customName) ? null : new net.md_5.bungee.api.chat.TextComponent(customName));
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public net.md_5.bungee.api.chat.hover.content.Content hoverContentOf(org.bukkit.entity.Entity entity, net.md_5.bungee.api.chat.BaseComponent customName) {
|
|
+ return new net.md_5.bungee.api.chat.hover.content.Entity(
|
|
+ entity.getType().getKey().toString(),
|
|
+ entity.getUniqueId().toString(),
|
|
+ customName);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public net.md_5.bungee.api.chat.hover.content.Content hoverContentOf(org.bukkit.entity.Entity entity, net.md_5.bungee.api.chat.BaseComponent[] customName) {
|
|
+ return new net.md_5.bungee.api.chat.hover.content.Entity(
|
|
+ entity.getType().getKey().toString(),
|
|
+ entity.getUniqueId().toString(),
|
|
+ new net.md_5.bungee.api.chat.TextComponent(customName));
|
|
+ }
|
|
// Paper end
|
|
}
|