diff --git a/patches/api/ItemStack-editMeta.patch b/patches/api/ItemStack-editMeta.patch index 0df0b07da0..392bcab303 100644 --- a/patches/api/ItemStack-editMeta.patch +++ b/patches/api/ItemStack-editMeta.patch @@ -27,9 +27,28 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + * @return {@code true} if the edit was successful, {@code false} otherwise + */ + public boolean editMeta(final @NotNull java.util.function.Consumer super ItemMeta> consumer) { -+ final ItemMeta meta = this.getItemMeta(); -+ if (meta != null) { -+ consumer.accept(meta); ++ return editMeta(ItemMeta.class, consumer); ++ } ++ ++ /** ++ * Edits the {@link ItemMeta} of this stack if the meta is of the specified type. ++ *
++ * 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 metaClass the type of meta to edit ++ * @param consumer the meta consumer ++ * @param