mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-11 01:12:47 +01:00
4cdbb0c86c
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 044d4ee9 SPIGOT-7283, SPIGOT-7318: Add AsyncStructureGenerateEvent and BlockState cloning 57b73d57 PR-913: Deprecate Projectile#doesBounce() and #setBounce() 43373c44 PR-904: Update FeatureFlag for 1.20.2 a7bbbf0c PR-911: Expand DataPack API with 1.20.2 pack version methods 0341e3a0 SPIGOT-7489: Add TeleportDuration to Display Entity bcd8d2aa PR-912: Update Minecraft Wiki URLs CraftBukkit Changes: 99aafc222 Increase outdated build delay dab849f08 SPIGOT-7283, SPIGOT-7318: Add AsyncStructureGenerateEvent and BlockState cloning 041b29ae3 Upgrade specialsource-maven-plugin 851a32cff PR-1263: Remove unused implementation of AbstractProjectile#doesBounce() and #setBounce() 251af0da3 PR-1261: Expand DataPack API with 1.20.2 pack version methods 46e4ba627 Upgrade specialsource-maven-plugin df3738a24 SPIGOT-7489: Add TeleportDuration to Display Entity 8d0fea457 PR-1262: Update Minecraft Wiki URLs e62905aab SPIGOT-7490: Fix entity equipment updates Spigot Changes: a0f3d486 Rebuild patches
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 369fc041f3203da7d367423ac74cb3eba88becc9..256b98750ac5c48526b6b8d5cb4894b8bb6665be 100644
|
|
--- a/src/main/java/org/bukkit/Bukkit.java
|
|
+++ b/src/main/java/org/bukkit/Bukkit.java
|
|
@@ -317,9 +317,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();
|
|
}
|
|
@@ -2450,6 +2452,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 2bfb1cfb4d669f4bb5a4ef540683bcee409fc49e..156f014f94ed100d4d352a4ee5d0a2dc2bff518f 100644
|
|
--- a/src/main/java/org/bukkit/Server.java
|
|
+++ b/src/main/java/org/bukkit/Server.java
|
|
@@ -255,9 +255,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();
|
|
|
|
/**
|
|
@@ -2133,5 +2135,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 {
|
|
|
|
/**
|