mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-22 08:57:35 +01:00
d8847bc1f3
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: fde5602a PR-927: Add PlayerRecipeBookSettingsChangeEvent 949ff217 PR-930: Add methods to get/set evoker fang attack delay f6f7c79d SPIGOT-7514, PR-929: Add "Enchantment Roll" API to enchant items according to Minecraft mechanics d40e22da PR-712: Add API to get full result of crafting items CraftBukkit Changes: c8feb0629 PR-1291: Improve precondition message in Entity#playEffect 482c56a00 PR-1285: Add PlayerRecipeBookSettingsChangeEvent cdf798800 PR-1290: Add methods to get/set evoker fang attack delay 2c1b5f78f SPIGOT-7514, PR-1289: Add "Enchantment Roll" API to enchant items according to Minecraft mechanics 6aa644ae9 PR-992: Add API to get full result of crafting items ffb1319bc PR-1287: Fix scoreboards not updating in Player#setStatistic
161 lines
5.1 KiB
Diff
161 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 {
|
|
|
|
/**
|