Add StructuresLocateEvent as replacement for StructureLocateEvent (#7524)
This commit is contained in:
parent
753bf2c103
commit
15b6b3db2c
418 changed files with 1084 additions and 267 deletions
61
patches/api/0302-ItemStack-editMeta.patch
Normal file
61
patches/api/0302-ItemStack-editMeta.patch
Normal file
|
@ -0,0 +1,61 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Riley Park <riley.park@meino.net>
|
||||
Date: Sun, 23 May 2021 05:04:28 -0700
|
||||
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 e126c45a4184cd637c94b55c5eb14fe4b5afe32e..7dfc84c77d8e185bb0513d9f9c603ce1b501a5e0 100644
|
||||
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
@@ -543,6 +543,50 @@ 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
|
||||
+ */
|
||||
+ public boolean editMeta(final @NotNull java.util.function.Consumer<? super ItemMeta> consumer) {
|
||||
+ return editMeta(ItemMeta.class, consumer);
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Edits the {@link ItemMeta} of this stack if the meta is of the specified type.
|
||||
+ * <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 metaClass the type of meta to edit
|
||||
+ * @param consumer the meta consumer
|
||||
+ * @param <M> the meta type
|
||||
+ * @return {@code true} if the edit was successful, {@code false} otherwise
|
||||
+ */
|
||||
+ public <M extends ItemMeta> boolean editMeta(final @NotNull Class<M> metaClass, final @NotNull java.util.function.Consumer<@NotNull ? super M> consumer) {
|
||||
+ final @Nullable ItemMeta meta = this.getItemMeta();
|
||||
+ if (metaClass.isInstance(meta)) {
|
||||
+ consumer.accept((M) meta);
|
||||
+ this.setItemMeta(meta);
|
||||
+ return true;
|
||||
+ }
|
||||
+ return false;
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
/**
|
||||
* Get a copy of this ItemStack's {@link ItemMeta}.
|
||||
*
|
Loading…
Add table
Add a link
Reference in a new issue