Skip to content

Commit a736c1a

Browse files
u9gu9gJRoy
authored
Add new overload to PersistentDataContainer#has (#7278)
Co-authored-by: u9g <winworkswow@gmail.com> Co-authored-by: Josh Roy <joshroy126@gmail.com>
1 parent 7d7ae7b commit a736c1a

File tree

2 files changed

+54
-0
lines changed

2 files changed

+54
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2+
From: u9g <winworkswow@gmail.com>
3+
Date: Mon, 3 Jan 2022 23:27:21 -0500
4+
Subject: [PATCH] Add new overload to PersistentDataContainer#has
5+
6+
Adds the new overload: PersistentDataContainer#has(NamespacedKey key)
7+
8+
diff --git a/src/main/java/org/bukkit/persistence/PersistentDataContainer.java b/src/main/java/org/bukkit/persistence/PersistentDataContainer.java
9+
index bf2a957be52d86d07d7d303c86bd3da5fe0a16c0..eebb3da156e2d95efbe22d4afa470b977ce19f10 100644
10+
--- a/src/main/java/org/bukkit/persistence/PersistentDataContainer.java
11+
+++ b/src/main/java/org/bukkit/persistence/PersistentDataContainer.java
12+
@@ -151,4 +151,18 @@ public interface PersistentDataContainer {
13+
*/
14+
@NotNull
15+
PersistentDataAdapterContext getAdapterContext();
16+
+
17+
+ // Paper start
18+
+ /**
19+
+ * Returns if the persistent metadata provider has metadata registered
20+
+ * matching the provided key.
21+
+ *
22+
+ * @param key the key for which existence should be checked.
23+
+ *
24+
+ * @return whether the key exists
25+
+ *
26+
+ * @throws NullPointerException if the key to look up is null
27+
+ */
28+
+ boolean has(@NotNull NamespacedKey key);
29+
+ // Paper end
30+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2+
From: u9g <winworkswow@gmail.com>
3+
Date: Mon, 3 Jan 2022 23:32:42 -0500
4+
Subject: [PATCH] Add new overload to PersistentDataContainer#has
5+
6+
Adds the new overload: PersistentDataContainer#has(NamespacedKey key)
7+
8+
diff --git a/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java b/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java
9+
index 2c59f09a9261a1690951161fd856a5848d9885b7..f0588bec9be09cb8273c310fb3de8bfe72dee9e5 100644
10+
--- a/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java
11+
+++ b/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java
12+
@@ -161,5 +161,12 @@ public class CraftPersistentDataContainer implements PersistentDataContainer {
13+
public void clear() {
14+
this.customDataTags.clear();
15+
}
16+
+
17+
+ @Override
18+
+ public boolean has(NamespacedKey key) {
19+
+ Validate.notNull(key, "The provided key for the custom value was null");
20+
+
21+
+ return this.customDataTags.containsKey(key.toString());
22+
+ }
23+
// Paper end
24+
}

0 commit comments

Comments
 (0)