From c5843511aef53166618208c92dc52c5498514bd1 Mon Sep 17 00:00:00 2001 From: u9g <43508353+u9g@users.noreply.github.com> Date: Sun, 9 Jan 2022 11:35:45 -0500 Subject: [PATCH] Add new overload to PersistentDataContainer#has (#7278) Co-authored-by: u9g Co-authored-by: Josh Roy <10731363+JRoy@users.noreply.github.com> --- ...rload-to-PersistentDataContainer-has.patch | 30 +++++++++++++++++++ ...rload-to-PersistentDataContainer-has.patch | 24 +++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 patches/api/Add-new-overload-to-PersistentDataContainer-has.patch create mode 100644 patches/server/Add-new-overload-to-PersistentDataContainer-has.patch diff --git a/patches/api/Add-new-overload-to-PersistentDataContainer-has.patch b/patches/api/Add-new-overload-to-PersistentDataContainer-has.patch new file mode 100644 index 0000000000..12f2296985 --- /dev/null +++ b/patches/api/Add-new-overload-to-PersistentDataContainer-has.patch @@ -0,0 +1,30 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: u9g +Date: Mon, 3 Jan 2022 23:27:21 -0500 +Subject: [PATCH] Add new overload to PersistentDataContainer#has + +Adds the new overload: PersistentDataContainer#has(NamespacedKey key) + +diff --git a/src/main/java/org/bukkit/persistence/PersistentDataContainer.java b/src/main/java/org/bukkit/persistence/PersistentDataContainer.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/persistence/PersistentDataContainer.java ++++ b/src/main/java/org/bukkit/persistence/PersistentDataContainer.java +@@ -0,0 +0,0 @@ public interface PersistentDataContainer { + */ + @NotNull + PersistentDataAdapterContext getAdapterContext(); ++ ++ // Paper start ++ /** ++ * Returns if the persistent metadata provider has metadata registered ++ * matching the provided key. ++ * ++ * @param key the key for which existence should be checked. ++ * ++ * @return whether the key exists ++ * ++ * @throws NullPointerException if the key to look up is null ++ */ ++ boolean has(@NotNull NamespacedKey key); ++ // Paper end + } diff --git a/patches/server/Add-new-overload-to-PersistentDataContainer-has.patch b/patches/server/Add-new-overload-to-PersistentDataContainer-has.patch new file mode 100644 index 0000000000..454cacd912 --- /dev/null +++ b/patches/server/Add-new-overload-to-PersistentDataContainer-has.patch @@ -0,0 +1,24 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: u9g +Date: Mon, 3 Jan 2022 23:32:42 -0500 +Subject: [PATCH] Add new overload to PersistentDataContainer#has + +Adds the new overload: PersistentDataContainer#has(NamespacedKey key) + +diff --git a/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java b/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java ++++ b/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java +@@ -0,0 +0,0 @@ public class CraftPersistentDataContainer implements PersistentDataContainer { + public void clear() { + this.customDataTags.clear(); + } ++ ++ @Override ++ public boolean has(NamespacedKey key) { ++ Validate.notNull(key, "The provided key for the custom value was null"); ++ ++ return this.customDataTags.containsKey(key.toString()); ++ } + // Paper end + }