diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/Material.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/Material.java.patch new file mode 100644 index 000000000..a00a53147 --- /dev/null +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/Material.java.patch @@ -0,0 +1,43 @@ +--- a/src/main/java/org/bukkit/Material.java ++++ b/src/main/java/org/bukkit/Material.java +@@ -5811,4 +_,40 @@ + return this.asItemType().getDefaultDataTypes(); + } + // Paper end - data component API ++ ++ // Purpur start - ItemStack convenience methods ++ public boolean isArmor() { ++ switch (this) { ++ // ++ case LEATHER_BOOTS: ++ case LEATHER_CHESTPLATE: ++ case LEATHER_HELMET: ++ case LEATHER_LEGGINGS: ++ case CHAINMAIL_BOOTS: ++ case CHAINMAIL_CHESTPLATE: ++ case CHAINMAIL_HELMET: ++ case CHAINMAIL_LEGGINGS: ++ case IRON_BOOTS: ++ case IRON_CHESTPLATE: ++ case IRON_HELMET: ++ case IRON_LEGGINGS: ++ case GOLDEN_BOOTS: ++ case GOLDEN_CHESTPLATE: ++ case GOLDEN_HELMET: ++ case GOLDEN_LEGGINGS: ++ case DIAMOND_BOOTS: ++ case DIAMOND_CHESTPLATE: ++ case DIAMOND_HELMET: ++ case DIAMOND_LEGGINGS: ++ case NETHERITE_BOOTS: ++ case NETHERITE_CHESTPLATE: ++ case NETHERITE_HELMET: ++ case NETHERITE_LEGGINGS: ++ case TURTLE_HELMET: ++ return true; ++ default: ++ return false; ++ } ++ } ++ // Purpur end - ItemStack convenience methods + } diff --git a/patches/api/0015-ItemStack-convenience-methods.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/inventory/ItemStack.java.patch similarity index 87% rename from patches/api/0015-ItemStack-convenience-methods.patch rename to purpur-api/paper-patches/files/src/main/java/org/bukkit/inventory/ItemStack.java.patch index 9beb1702d..1bbbc6821 100644 --- a/patches/api/0015-ItemStack-convenience-methods.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/inventory/ItemStack.java.patch @@ -1,78 +1,25 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: William Blake Galbreath -Date: Sun, 15 Mar 2020 20:52:12 -0500 -Subject: [PATCH] ItemStack convenience methods - - -diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index e89edabd36a6755912694d8a8700da4ebe5c5829..ba2eff0f2ecffbea4b42d5c6e4485ee0087dc981 100644 ---- a/src/main/java/org/bukkit/Material.java -+++ b/src/main/java/org/bukkit/Material.java -@@ -5811,4 +5811,40 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - return this.asItemType().getDefaultDataTypes(); - } - // Paper end - data component API -+ -+ // Purpur start -+ public boolean isArmor() { -+ switch (this) { -+ // -+ case LEATHER_BOOTS: -+ case LEATHER_CHESTPLATE: -+ case LEATHER_HELMET: -+ case LEATHER_LEGGINGS: -+ case CHAINMAIL_BOOTS: -+ case CHAINMAIL_CHESTPLATE: -+ case CHAINMAIL_HELMET: -+ case CHAINMAIL_LEGGINGS: -+ case IRON_BOOTS: -+ case IRON_CHESTPLATE: -+ case IRON_HELMET: -+ case IRON_LEGGINGS: -+ case GOLDEN_BOOTS: -+ case GOLDEN_CHESTPLATE: -+ case GOLDEN_HELMET: -+ case GOLDEN_LEGGINGS: -+ case DIAMOND_BOOTS: -+ case DIAMOND_CHESTPLATE: -+ case DIAMOND_HELMET: -+ case DIAMOND_LEGGINGS: -+ case NETHERITE_BOOTS: -+ case NETHERITE_CHESTPLATE: -+ case NETHERITE_HELMET: -+ case NETHERITE_LEGGINGS: -+ case TURTLE_HELMET: -+ return true; -+ default: -+ return false; -+ } -+ } -+ // Purpur end - } -diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 8c9654cd19af8b28fa276a55c5060eb389e60c1c..875124b06d87cd4163f0ab1d4dd75f939622f8aa 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -19,6 +19,13 @@ import org.bukkit.inventory.meta.ItemMeta; +@@ -19,6 +_,13 @@ import org.bukkit.material.MaterialData; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -+// Purpur start ++// Purpur start - ItemStack convenience methods +import com.google.common.collect.Multimap; +import java.util.Collection; +import org.bukkit.attribute.Attribute; +import org.bukkit.attribute.AttributeModifier; +import org.bukkit.block.data.BlockData; -+// Purpur end ++// Purpur end - ItemStack convenience methods /** * Represents a stack of items. -@@ -1318,4 +1325,482 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -1318,4 +_,482 @@ return this.craftDelegate.matchesWithoutData(item, excludeTypes, ignoreCount); } // Paper end - data component API + -+ // Purpur start ++ // Purpur start - ItemStack convenience methods + /** + * Gets the display name that is set. + *

@@ -548,5 +495,5 @@ index 8c9654cd19af8b28fa276a55c5060eb389e60c1c..875124b06d87cd4163f0ab1d4dd75f93 + public boolean damage(int amount, boolean ignoreUnbreaking) { + return this.craftDelegate.damage(amount, ignoreUnbreaking); + } -+ // Purpur end ++ // Purpur end - ItemStack convenience methods } diff --git a/patches/server/0291-ItemStack-convenience-methods.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java.patch similarity index 94% rename from patches/server/0291-ItemStack-convenience-methods.patch rename to purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java.patch index d60ec7fae..c53a5719a 100644 --- a/patches/server/0291-ItemStack-convenience-methods.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java.patch @@ -1,19 +1,11 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: granny -Date: Thu, 3 Oct 2024 18:33:14 -0700 -Subject: [PATCH] ItemStack convenience methods - - -diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 78975412da0f0c2b802bfce6d30d56b26d8023e2..4ec6a07796023aab2f8f84f131f48108c235c852 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -658,4 +658,285 @@ public final class CraftItemStack extends ItemStack { +@@ -658,4 +_,285 @@ } // Paper end - data component API + -+ // Purpur start ++ // Purpur start - ItemStack convenience methods + @Override + public String getDisplayName() { + return getItemMeta().getDisplayName(); @@ -292,5 +284,5 @@ index 78975412da0f0c2b802bfce6d30d56b26d8023e2..4ec6a07796023aab2f8f84f131f48108 + } + return random.nextInt(unbreaking + 1) > 0; + } -+ // Purpur end ++ // Purpur end - ItemStack convenience methods }