2021-06-11 14:02:28 +02:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Connor Linfoot <connorlinfoot@me.com>
|
|
|
|
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
|
2024-08-19 11:41:55 +02:00
|
|
|
index b558fa73dbcf3747690933e6aadf7061a0de2630..8a22c242a93b0e16e0bca583d0918bab695248b1 100644
|
2021-06-11 14:02:28 +02:00
|
|
|
--- a/src/main/java/org/bukkit/Bukkit.java
|
|
|
|
+++ b/src/main/java/org/bukkit/Bukkit.java
|
2024-06-13 17:45:43 +02:00
|
|
|
@@ -328,9 +328,11 @@ public final class Bukkit {
|
2023-06-06 11:09:19 +02:00
|
|
|
/**
|
|
|
|
* Get the DataPack Manager.
|
|
|
|
*
|
|
|
|
+ * @deprecated use {@link #getDatapackManager()}
|
|
|
|
* @return the manager
|
|
|
|
*/
|
|
|
|
@NotNull
|
|
|
|
+ @Deprecated(forRemoval = true)
|
|
|
|
public static DataPackManager getDataPackManager() {
|
|
|
|
return server.getDataPackManager();
|
|
|
|
}
|
2024-08-19 11:41:55 +02:00
|
|
|
@@ -2617,6 +2619,14 @@ public final class Bukkit {
|
2021-06-11 14:02:28 +02:00
|
|
|
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
|
2024-08-19 11:41:55 +02:00
|
|
|
index 42930006b6425b5d82233e4ffe7025ce5397b277..67b5cb7635c4251c259b1fb1ef50f99a0b2647e5 100644
|
2021-06-11 14:02:28 +02:00
|
|
|
--- a/src/main/java/org/bukkit/Server.java
|
|
|
|
+++ b/src/main/java/org/bukkit/Server.java
|
2024-06-13 17:45:43 +02:00
|
|
|
@@ -267,9 +267,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
|
2023-06-06 11:09:19 +02:00
|
|
|
/**
|
|
|
|
* Get the DataPack Manager.
|
|
|
|
*
|
|
|
|
+ * @deprecated use {@link #getDatapackManager()}
|
|
|
|
* @return the manager
|
|
|
|
*/
|
|
|
|
@NotNull
|
|
|
|
+ @Deprecated(forRemoval = true) // Paper
|
|
|
|
public DataPackManager getDataPackManager();
|
|
|
|
|
|
|
|
/**
|
2024-08-19 11:41:55 +02:00
|
|
|
@@ -2284,5 +2286,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
|
2021-06-11 14:02:28 +02:00
|
|
|
*/
|
|
|
|
@NotNull
|
|
|
|
com.destroystokyo.paper.entity.ai.MobGoals getMobGoals();
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * @return the datapack manager
|
|
|
|
+ */
|
|
|
|
+ @NotNull
|
|
|
|
+ io.papermc.paper.datapack.DatapackManager getDatapackManager();
|
|
|
|
// Paper end
|
|
|
|
}
|
2023-06-06 11:09:19 +02:00
|
|
|
diff --git a/src/main/java/org/bukkit/packs/DataPack.java b/src/main/java/org/bukkit/packs/DataPack.java
|
2024-06-13 17:45:43 +02:00
|
|
|
index ea03c51d51e015e69d3aaa795547033ceabff9e0..419f6bdbec5dc1c731fb0f93816a90f58a329021 100644
|
2023-06-06 11:09:19 +02:00
|
|
|
--- a/src/main/java/org/bukkit/packs/DataPack.java
|
|
|
|
+++ b/src/main/java/org/bukkit/packs/DataPack.java
|
2024-06-13 17:45:43 +02:00
|
|
|
@@ -9,7 +9,9 @@ import org.jetbrains.annotations.NotNull;
|
2023-06-06 11:09:19 +02:00
|
|
|
* Represents a data pack.
|
2023-09-29 02:28:26 +02:00
|
|
|
*
|
|
|
|
* @see <a href="https://minecraft.wiki/w/Data_pack">Minecraft wiki</a>
|
2023-06-06 11:09:19 +02:00
|
|
|
+ * @deprecated use {@link io.papermc.paper.datapack.Datapack}
|
|
|
|
*/
|
|
|
|
+@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
|
2024-06-13 17:45:43 +02:00
|
|
|
index aee6e828c6fac9b010356af1239a58b4579c1773..7d3694efc21c7bc3784207735bdd9fb27e69988a 100644
|
2023-06-06 11:09:19 +02:00
|
|
|
--- a/src/main/java/org/bukkit/packs/DataPackManager.java
|
|
|
|
+++ b/src/main/java/org/bukkit/packs/DataPackManager.java
|
2024-06-13 17:45:43 +02:00
|
|
|
@@ -13,7 +13,9 @@ import org.jetbrains.annotations.Nullable;
|
2023-06-06 11:09:19 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Manager of data packs.
|
|
|
|
+ * @deprecated use {@link io.papermc.paper.datapack.DatapackManager}
|
|
|
|
*/
|
|
|
|
+@Deprecated(forRemoval = true) // Paper
|
|
|
|
public interface DataPackManager {
|
|
|
|
|
|
|
|
/**
|