Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions build-data/paper.at
Original file line number Diff line number Diff line change
Expand Up @@ -332,3 +332,7 @@ public net.minecraft.world.entity.projectile.FireworkRocketEntity life

# More Projectile API
public net.minecraft.world.entity.projectile.FishingHook timeUntilLured

# Datapack API
public net.minecraft.server.packs.repository.PackRepository constructor
public net.minecraft.server.packs.repository.PackRepository sources
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
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
Subject: [PATCH] Datapack API

Co-authored-by: Noah van der Aa <ndvdaa@gmail.com>

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
Expand Down Expand Up @@ -44,14 +45,19 @@ index 0000000000000000000000000000000000000000..7b2ab0be10a21e0496ad1d485ff8cb2c
+}
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
index 0000000000000000000000000000000000000000..a6a7724cf5a1760deed51ea5885fbf3021b41bf7
--- /dev/null
+++ b/src/main/java/io/papermc/paper/datapack/DatapackManager.java
@@ -0,0 +1,21 @@
@@ -0,0 +1,51 @@
+package io.papermc.paper.datapack;
+
+import org.checkerframework.checker.nullness.qual.NonNull;
+import org.checkerframework.checker.nullness.qual.Nullable;
+import org.jetbrains.annotations.NotNull;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.Collection;
+
+public interface DatapackManager {
Expand All @@ -68,6 +74,31 @@ index 0000000000000000000000000000000000000000..58f78d5e91beacaf710f62461cf869f7
+ @NonNull
+ Collection<Datapack> getEnabledPacks();
+
+ /**
+ * Loads a new datapack and enables it.
+ * @param name the name of the pack
+ * @param file the file to load the pack from
+ * @throws FileNotFoundException if the server can't load the pack because a file is missing
+ * @throws IOException if there was an error while reading the pack file
+ * @return the newly loaded pack
+ */
+ @Nullable
+ default Datapack loadDatapack(@NotNull String name, @NotNull File file) throws FileNotFoundException, IOException {
+ return loadDatapack(name, file, true);
+ }
+
+ /**
+ * Loads a new datapack and optionally enables it.
+ * @param name the name of the pack
+ * @param file the file to load the pack from
+ * @param enable if the pack should be enabled upon loading
+ * @throws FileNotFoundException if the server can't load the pack because a file is missing
+ * @throws IOException if there was an error while reading the pack file
+ * @return the newly loaded pack
+ */
+ @Nullable
+ Datapack loadDatapack(@NotNull String name, @NotNull File file, boolean enable) throws FileNotFoundException, IOException;
+
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 8106fd5806fc47cb7138e01d9d5c458153afa3d5..adc8ed72acbb1ca788d44fa9542d287dbbafc669 100644
Expand Down
44 changes: 0 additions & 44 deletions patches/server/0646-Fix-CraftPotionBrewer-cache.patch

This file was deleted.

125 changes: 0 additions & 125 deletions patches/server/0647-Add-basic-Datapack-API.patch

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ index 69dc1271be0a3f3f2fb4ce15981ed25d24dce785..1e0d261439255091a6f61485c0747231
Main.LOGGER.info("Forcing world upgrade! {}", session.getLevelId()); // CraftBukkit
WorldUpgrader worldupgrader = new WorldUpgrader(session, dataFixer, generatorOptions, eraseCache);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0e888c2d64cddb8b44e0572cea07fbb3cf0e6987..4a92ea5d6db5873277708d9fba6e1dd04205da78 100644
index 2ec8216d19de795bbe0827f6c9b3f9cdc2ce6760..b8ffd95bbad81521b9f91e83f63188553c09d4bd 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -555,11 +555,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
Expand Down Expand Up @@ -357,10 +357,10 @@ index 4bc33c31d497aa7d69226ab870fd78902bedfd5b..089e8414c7bdc102ba0d914af576df1a
return this.regionCache.getAndMoveToFirst(ChunkPos.asLong(chunkcoordintpair.getRegionX(), chunkcoordintpair.getRegionZ()));
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 486fe0d067dc11b42263b26592039e210acce06b..99a679945337f412fe7d1c51280b05b5b0bcfb5b 100644
index 555015be2b9f83834b70ecb415aca3807520a6bd..5647eecea3832d48ed9e112cc31f7b3a156b4cb9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1192,12 +1192,7 @@ public final class CraftServer implements Server {
@@ -1190,12 +1190,7 @@ public final class CraftServer implements Server {
}
worlddata.checkName(name);
worlddata.setModdedInfo(this.console.getServerModName(), this.console.getModdedStatus().shouldReportAsModified());
Expand All @@ -374,7 +374,7 @@ index 486fe0d067dc11b42263b26592039e210acce06b..99a679945337f412fe7d1c51280b05b5

long j = BiomeManager.obfuscateSeed(creator.seed());
List<CustomSpawner> list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata));
@@ -1226,6 +1221,14 @@ public final class CraftServer implements Server {
@@ -1224,6 +1219,14 @@ public final class CraftServer implements Server {
}
}

Expand Down
Loading