From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: ysl3000 <yannicklamprecht@live.de>
Date: Mon, 6 Jul 2020 22:17:37 +0200
Subject: [PATCH] Create HoverEvent from ItemStack Entity


diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
index 03ba2265908d35bded0f38ed31187e5500e1b1f0..3f23927e58e0ccf8cf04d4beb4d83346e3f84730 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
@@ -165,5 +165,54 @@ public interface ItemFactory {
      */
     @Nullable
     String getI18NDisplayName(@Nullable ItemStack item);
+
+    /**
+     * Creates a {@link net.md_5.bungee.api.chat.hover.content.Content} of that ItemStack for displaying.
+     *
+     * @param itemStack
+     * @return the {@link net.md_5.bungee.api.chat.hover.content.Content} of that ItemStack
+     */
+    @NotNull
+    net.md_5.bungee.api.chat.hover.content.Content hoverContentOf(@NotNull ItemStack itemStack);
+
+    /**
+     * Creates a {@link net.md_5.bungee.api.chat.hover.content.Content} of that {@link org.bukkit.entity.Entity} for displaying.
+     * Uses the display name of the entity, if present.
+     *
+     * @param entity Entity to create the HoverEvent for
+     * @return the {@link net.md_5.bungee.api.chat.hover.content.Content} of that {@link org.bukkit.entity.Entity}
+     */
+    @NotNull
+    net.md_5.bungee.api.chat.hover.content.Content hoverContentOf(@NotNull org.bukkit.entity.Entity entity);
+
+    /**
+     * Creates a {@link net.md_5.bungee.api.chat.hover.content.Content} of that {@link org.bukkit.entity.Entity} for displaying.
+     *
+     * @param entity Entity to create the HoverEvent for
+     * @param customName a custom name that should be displayed, if not passed entity name will be displayed
+     * @return the {@link net.md_5.bungee.api.chat.hover.content.Content} of that {@link org.bukkit.entity.Entity}
+     */
+    @NotNull
+    net.md_5.bungee.api.chat.hover.content.Content hoverContentOf(@NotNull org.bukkit.entity.Entity entity, @Nullable String customName);
+
+    /**
+     * Creates a {@link net.md_5.bungee.api.chat.hover.content.Content} of that {@link org.bukkit.entity.Entity} for displaying.
+     *
+     * @param entity Entity to create the HoverEvent for
+     * @param customName a custom name that should be displayed, if not passed entity name will be displayed
+     * @return the {@link net.md_5.bungee.api.chat.hover.content.Content} of that {@link org.bukkit.entity.Entity}
+     */
+    @NotNull
+    net.md_5.bungee.api.chat.hover.content.Content hoverContentOf(@NotNull org.bukkit.entity.Entity entity, @Nullable net.md_5.bungee.api.chat.BaseComponent customName);
+
+    /**
+     * Creates a {@link net.md_5.bungee.api.chat.hover.content.Content} of that {@link org.bukkit.entity.Entity} for displaying.
+     *
+     * @param entity Entity to create the HoverEvent for
+     * @param customName a custom name that should be displayed, if not passed entity name will be displayed
+     * @return the {@link net.md_5.bungee.api.chat.hover.content.Content} of that {@link org.bukkit.entity.Entity}
+     */
+    @NotNull
+    net.md_5.bungee.api.chat.hover.content.Content hoverContentOf(@NotNull org.bukkit.entity.Entity entity, @NotNull net.md_5.bungee.api.chat.BaseComponent[] customName);
     // Paper end
 }
