mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-01 12:41:50 +01:00
2f92d4e00e
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 01bb6ba7 PR-936: Add new PersistentDataContainer methods and clean up docs bc145b90 PR-940: Create registry for banner pattern and cat type CraftBukkit Changes: cb2ea54de SPIGOT-7440, PR-1292: Fire EntityTeleportEvent for end gateways 4fea66e44 PR-1299: Add new PersistentDataContainer methods and clean up docs b483a20db PR-1303: Create registry for banner pattern and cat type 4642dd526 SPIGOT-7535: Fix maps not having an ID and also call MapInitializeEvent in more places
36 lines
1.5 KiB
Diff
36 lines
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
|
|
}
|