From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: ysl3000 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 }