13
0
geforkt von Mirrors/Paper
Paper/patches/api/0108-ItemStack-getMaxItemUseDuration.patch

42 Zeilen
1.7 KiB
Diff

2021-06-11 14:02:28 +02:00
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
2024-06-14 13:07:50 +02:00
index 29bc12cb3095282a31f01f08ac66c15b24f42524..90cec86f6f75809e2c6e06313b1a96e77c992c18 100644
2021-06-11 14:02:28 +02:00
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
2024-06-14 13:07:50 +02:00
@@ -13,6 +13,7 @@ import org.bukkit.Translatable;
import org.bukkit.Utility;
import org.bukkit.configuration.serialization.ConfigurationSerializable;
import org.bukkit.enchantments.Enchantment;
+import org.bukkit.entity.LivingEntity;
import org.bukkit.inventory.meta.Damageable;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.material.MaterialData;
@@ -670,5 +671,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
2021-06-11 14:02:28 +02:00
public String getI18NDisplayName() {
return Bukkit.getServer().getItemFactory().getI18NDisplayName(this);
}
+
2024-06-14 13:07:50 +02:00
+ /**
+ * @deprecated use {@link #getMaxItemUseDuration(LivingEntity)}; crossbows, later possibly more items require an entity parameter
+ */
+ @Deprecated(forRemoval = true)
2021-06-11 14:02:28 +02:00
+ public int getMaxItemUseDuration() {
2024-06-14 13:07:50 +02:00
+ return getMaxItemUseDuration(null);
+ }
+
+ public int getMaxItemUseDuration(@NotNull final LivingEntity entity) {
2021-06-11 14:02:28 +02:00
+ if (type == null || type == Material.AIR || !type.isItem()) {
+ return 0;
+ }
+ // Requires access to NMS
2024-06-14 13:07:50 +02:00
+ return ensureServerConversions().getMaxItemUseDuration(entity);
2021-06-11 14:02:28 +02:00
+ }
// Paper end
}