aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0277-Add-basic-Datapack-API.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/api/0277-Add-basic-Datapack-API.patch')
-rw-r--r--patches/api/0277-Add-basic-Datapack-API.patch160
1 files changed, 160 insertions, 0 deletions
diff --git a/patches/api/0277-Add-basic-Datapack-API.patch b/patches/api/0277-Add-basic-Datapack-API.patch
new file mode 100644
index 0000000000..951643df7d
--- /dev/null
+++ b/patches/api/0277-Add-basic-Datapack-API.patch
@@ -0,0 +1,160 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Connor Linfoot <[email protected]>
+Date: Sun, 16 May 2021 15:07:34 +0100
+Subject: [PATCH] Add basic Datapack API
+
+
+diff --git a/src/main/java/io/papermc/paper/datapack/Datapack.java b/src/main/java/io/papermc/paper/datapack/Datapack.java
+new file mode 100644
+index 0000000000000000000000000000000000000000..7b2ab0be10a21e0496ad1d485ff8cb2c0b92a2cb
+--- /dev/null
++++ b/src/main/java/io/papermc/paper/datapack/Datapack.java
+@@ -0,0 +1,32 @@
++package io.papermc.paper.datapack;
++
++import org.checkerframework.checker.nullness.qual.NonNull;
++
++public interface Datapack {
++
++ /**
++ * @return the name of the pack
++ */
++ @NonNull
++ String getName();
++
++ /**
++ * @return the compatibility of the pack
++ */
++ @NonNull
++ Compatibility getCompatibility();
++
++ /**
++ * @return whether or not the pack is currently enabled
++ */
++ boolean isEnabled();
++
++ void setEnabled(boolean enabled);
++
++ enum Compatibility {
++ TOO_OLD,
++ TOO_NEW,
++ COMPATIBLE,
++ }
++
++}
+diff --git a/src/main/java/io/papermc/paper/datapack/DatapackManager.java b/src/main/java/io/papermc/paper/datapack/DatapackManager.java
+new file mode 100644
+index 0000000000000000000000000000000000000000..58f78d5e91beacaf710f62461cf869f70d08b2a2
+--- /dev/null
++++ b/src/main/java/io/papermc/paper/datapack/DatapackManager.java
+@@ -0,0 +1,21 @@
++package io.papermc.paper.datapack;
++
++import org.checkerframework.checker.nullness.qual.NonNull;
++
++import java.util.Collection;
++
++public interface DatapackManager {
++
++ /**
++ * @return all the packs known to the server
++ */
++ @NonNull
++ Collection<Datapack> getPacks();
++
++ /**
++ * @return all the packs which are currently enabled
++ */
++ @NonNull
++ Collection<Datapack> getEnabledPacks();
++
++}
+diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
+index 8fd1de659777595d9d8198e7ee638ad5500a6317..e62d46629305a268906cd2cd5d5977d063c2f484 100644
+--- a/src/main/java/org/bukkit/Bukkit.java
++++ b/src/main/java/org/bukkit/Bukkit.java
+@@ -330,9 +330,11 @@ public final class Bukkit {
+ /**
+ * Get the DataPack Manager.
+ *
++ * @deprecated use {@link #getDatapackManager()}
+ * @return the manager
+ */
+ @NotNull
++ @Deprecated(forRemoval = true)
+ public static DataPackManager getDataPackManager() {
+ return server.getDataPackManager();
+ }
+@@ -2588,6 +2590,14 @@ public final class Bukkit {
+ public static com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() {
+ return server.getMobGoals();
+ }
++
++ /**
++ * @return the datapack manager
++ */
++ @NotNull
++ public static io.papermc.paper.datapack.DatapackManager getDatapackManager() {
++ return server.getDatapackManager();
++ }
+ // Paper end
+
+ @NotNull
+diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
+index efd612c1df363bd9c8f1ae0ea70c884af532efc3..7b6342a3d6ae0716876c958ef6029d5a6dc233bb 100644
+--- a/src/main/java/org/bukkit/Server.java
++++ b/src/main/java/org/bukkit/Server.java
+@@ -266,9 +266,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+ /**
+ * Get the DataPack Manager.
+ *
++ * @deprecated use {@link #getDatapackManager()}
+ * @return the manager
+ */
+ @NotNull
++ @Deprecated(forRemoval = true) // Paper
+ public DataPackManager getDataPackManager();
+
+ /**
+@@ -2254,5 +2256,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+ */
+ @NotNull
+ com.destroystokyo.paper.entity.ai.MobGoals getMobGoals();
++
++ /**
++ * @return the datapack manager
++ */
++ @NotNull
++ io.papermc.paper.datapack.DatapackManager getDatapackManager();
+ // Paper end
+ }
+diff --git a/src/main/java/org/bukkit/packs/DataPack.java b/src/main/java/org/bukkit/packs/DataPack.java
+index 3d5af25a399589f1bdf95b77f584ae0ae5c26f02..ab512c7ee9d2442055b719d02d0d0ecc7ea8d992 100644
+--- a/src/main/java/org/bukkit/packs/DataPack.java
++++ b/src/main/java/org/bukkit/packs/DataPack.java
+@@ -10,8 +10,10 @@ import org.jetbrains.annotations.NotNull;
+ * Represents a data pack.
+ *
+ * @see <a href="https://minecraft.wiki/w/Data_pack">Minecraft wiki</a>
++ * @deprecated use {@link io.papermc.paper.datapack.Datapack}
+ */
+ @ApiStatus.Experimental
++@Deprecated(forRemoval = true) // Paper
+ public interface DataPack extends Keyed {
+
+ /**
+diff --git a/src/main/java/org/bukkit/packs/DataPackManager.java b/src/main/java/org/bukkit/packs/DataPackManager.java
+index d7fb6310e6b1050c496d748388310bc6f8d78e23..2cd505046277febe010e9476539b064321d8b2ec 100644
+--- a/src/main/java/org/bukkit/packs/DataPackManager.java
++++ b/src/main/java/org/bukkit/packs/DataPackManager.java
+@@ -11,8 +11,10 @@ import org.jetbrains.annotations.Nullable;
+
+ /**
+ * Manager of data packs.
++ * @deprecated use {@link io.papermc.paper.datapack.DatapackManager}
+ */
+ @ApiStatus.Experimental
++@Deprecated(forRemoval = true) // Paper
+ public interface DataPackManager {
+
+ /**