From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 5 Jun 2018 22:59:50 -0400
Subject: [PATCH] ItemStack#getMaxItemUseDuration

Allows you to determine how long it takes to use a usable/consumable item

diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index e66a958bc36ac774081d5e71966f312ebb8228d9..a3de566c8f0ea4dcdb158f9ef0876a3b14429140 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -670,5 +670,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
     public String getI18NDisplayName() {
         return Bukkit.getServer().getItemFactory().getI18NDisplayName(this);
     }
+
+    /**
+     * @deprecated use {@link #getMaxItemUseDuration(org.bukkit.entity.LivingEntity)}; crossbows, later possibly more items require an entity parameter
+     */
+    @Deprecated(forRemoval = true)
+    public int getMaxItemUseDuration() {
+        return getMaxItemUseDuration(null);
+    }
+
+    public int getMaxItemUseDuration(@NotNull final org.bukkit.entity.LivingEntity entity) {
+        if (type == null || type == Material.AIR || !type.isItem()) {
+            return 0;
+        }
+        // Requires access to NMS
+        return ensureServerConversions().getMaxItemUseDuration(entity);
+    }
     // Paper end
 }