aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGergely Sarkozi <[email protected]>2021-05-30 13:45:46 +0200
committerGitHub <[email protected]>2021-05-30 11:45:46 +0000
commit34e6b2dc3987e4190ff224cb633bbe24e392bd13 (patch)
treec66befaffac56d407acf57584b193b29d31c4550
parentdb2d501ba39d7db4b1eaa116fe168988791dac18 (diff)
downloadPaper-34e6b2dc3987e4190ff224cb633bbe24e392bd13.tar.gz
Paper-34e6b2dc3987e4190ff224cb633bbe24e392bd13.zip
editMeta: tighten contract via docs (#5714)
-rw-r--r--Spigot-API-Patches/0307-ItemStack-editMeta.patch11
1 files 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.
++ * <p>
++ * 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.
++ * </p>
+ *
+ * @param consumer the meta consumer
+ * @return {@code true} if the edit was successful, {@code false} otherwise