geforkt von Mirrors/Paper
96d5e6ca48
Currently includes generated key holder classes for types used in the Registry Modification API
37 Zeilen
1.5 KiB
Diff
37 Zeilen
1.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aeltumn <daniel@goossens.ch>
|
|
Date: Mon, 28 Aug 2023 13:41:09 +0200
|
|
Subject: [PATCH] Allow proper checking of empty item stacks
|
|
|
|
This adds a method to check if an item stack is empty or not. This mirrors vanilla's implementation of the same method.
|
|
|
|
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
|
|
index d15a74c38576c49df61cfab02c70fc5d8c0dd5f7..0af73cc04edb93b9772136d4d808f657ea40e733 100644
|
|
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
|
|
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
|
|
@@ -985,5 +985,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
|
|
public @NotNull ItemStack damage(int amount, @NotNull org.bukkit.entity.LivingEntity livingEntity) {
|
|
return livingEntity.damageItemStack(this, amount);
|
|
}
|
|
+
|
|
+ /**
|
|
+ * Returns an empty item stack, consists of an air material and a stack size of 0.
|
|
+ *
|
|
+ * Any item stack with a material of air or a stack size of 0 is seen
|
|
+ * as being empty by {@link ItemStack#isEmpty}.
|
|
+ */
|
|
+ @NotNull
|
|
+ public static ItemStack empty() {
|
|
+ return new ItemStack();
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Returns whether this item stack is empty and contains no item. This means
|
|
+ * it is either air or the stack has a size of 0.
|
|
+ */
|
|
+ public boolean isEmpty() {
|
|
+ return type.isAir() || amount <= 0;
|
|
+ }
|
|
// Paper end
|
|
}
|