mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-30 20:21:51 +01:00
96d5e6ca48
Currently includes generated key holder classes for types used in the Registry Modification API
160 lines
5.1 KiB
Diff
160 lines
5.1 KiB
Diff
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
|
|
index def2ea036536d0e15bc3b35bb69e99a9bcba1d60..fa62a3a59cdb60dd91eaa0ca510482b98191e813 100644
|
|
--- a/src/main/java/org/bukkit/Bukkit.java
|
|
+++ b/src/main/java/org/bukkit/Bukkit.java
|
|
@@ -318,9 +318,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();
|
|
}
|
|
@@ -2526,6 +2528,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 11be12a66bbc660221760d857daf78cdb18d77f0..d2103b455c105c3fe2273823b800b8c617492c62 100644
|
|
--- a/src/main/java/org/bukkit/Server.java
|
|
+++ b/src/main/java/org/bukkit/Server.java
|
|
@@ -256,9 +256,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();
|
|
|
|
/**
|
|
@@ -2202,5 +2204,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 {
|
|
|
|
/**
|