aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0441-Allow-proper-checking-of-empty-item-stacks.patch
diff options
context:
space:
mode:
authorJake Potrebic <[email protected]>2023-11-22 20:56:28 -0800
committerGitHub <[email protected]>2023-11-22 20:56:28 -0800
commit96d5e6ca481591842f44d05ab2451f943be6a7c7 (patch)
treead35d855fa33f6feb8e365ce12aa312bd225ff3f /patches/api/0441-Allow-proper-checking-of-empty-item-stacks.patch
parente1cd9e59e53aabd50e501cb01feee277a8f69902 (diff)
downloadPaper-96d5e6ca481591842f44d05ab2451f943be6a7c7.tar.gz
Paper-96d5e6ca481591842f44d05ab2451f943be6a7c7.zip
Code Generation for TypedKeys (#9233)
Currently includes generated key holder classes for types used in the Registry Modification API
Diffstat (limited to 'patches/api/0441-Allow-proper-checking-of-empty-item-stacks.patch')
-rw-r--r--patches/api/0441-Allow-proper-checking-of-empty-item-stacks.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/patches/api/0441-Allow-proper-checking-of-empty-item-stacks.patch b/patches/api/0441-Allow-proper-checking-of-empty-item-stacks.patch
new file mode 100644
index 0000000000..e4c35df87b
--- /dev/null
+++ b/patches/api/0441-Allow-proper-checking-of-empty-item-stacks.patch
@@ -0,0 +1,36 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Aeltumn <[email protected]>
+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
+ }