From 34e6b2dc3987e4190ff224cb633bbe24e392bd13 Mon Sep 17 00:00:00 2001 From: Gergely Sarkozi Date: Sun, 30 May 2021 13:45:46 +0200 Subject: [PATCH] editMeta: tighten contract via docs (#5714) --- Spigot-API-Patches/0307-ItemStack-editMeta.patch | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Spigot-API-Patches/0307-ItemStack-editMeta.patch b/Spigot-API-Patches/0307-ItemStack-editMeta.patch index 6d21e33933..d9b90f5c32 100644 --- a/Spigot-API-Patches/0307-ItemStack-editMeta.patch +++ b/Spigot-API-Patches/0307-ItemStack-editMeta.patch @@ -5,16 +5,23 @@ Subject: [PATCH] ItemStack#editMeta diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 1bd9f7582bb907ff178fd110fdc92834885d1d78..3e2c08641edffcf00b230ad624685aaff30af0e5 100644 +index 1bd9f7582bb907ff178fd110fdc92834885d1d78..a7909406e9d54c1ab4789b984ed6b1da50837fce 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -542,6 +542,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -542,6 +542,31 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor return result.ensureServerConversions(); // Paper } + // Paper start + /** + * Edits the {@link ItemMeta} of this stack. ++ *

++ * The {@link java.util.function.Consumer} must only interact ++ * with this stack's {@link ItemMeta} through the provided {@link ItemMeta} instance. ++ * Calling this method or any other meta-related method of the {@link ItemStack} class ++ * (such as {@link #getItemMeta()}, {@link #addItemFlags(ItemFlag...)}, {@link #lore()}, etc.) ++ * from inside the consumer is disallowed and will produce undefined results or exceptions. ++ *

+ * + * @param consumer the meta consumer + * @return {@code true} if the edit was successful, {@code false} otherwise