aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0321-Allow-delegation-to-vanilla-chunk-gen.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/api/0321-Allow-delegation-to-vanilla-chunk-gen.patch')
-rw-r--r--patches/api/0321-Allow-delegation-to-vanilla-chunk-gen.patch89
1 files changed, 89 insertions, 0 deletions
diff --git a/patches/api/0321-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/api/0321-Allow-delegation-to-vanilla-chunk-gen.patch
new file mode 100644
index 0000000000..bf74f046a9
--- /dev/null
+++ b/patches/api/0321-Allow-delegation-to-vanilla-chunk-gen.patch
@@ -0,0 +1,89 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: MiniDigger <[email protected]>
+Date: Wed, 29 Apr 2020 02:09:17 +0200
+Subject: [PATCH] Allow delegation to vanilla chunk gen
+
+
+diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
+index e62d46629305a268906cd2cd5d5977d063c2f484..8f88dc00c73810560070195fcf6e0f955e4ebdde 100644
+--- a/src/main/java/org/bukkit/Bukkit.java
++++ b/src/main/java/org/bukkit/Bukkit.java
+@@ -2105,6 +2105,24 @@ public final class Bukkit {
+ return server.createChunkData(world);
+ }
+
++ // Paper start
++ /**
++ * Create a ChunkData for use in a generator, that is populated by the vanilla generator for that world
++ *
++ * @param world the world to create the ChunkData for
++ * @param x the x coordinate of the chunk
++ * @param z the z coordinate of the chunk
++ * @return a new ChunkData for the world
++ * @deprecated The new multi-stage worldgen API allows a similar effect by overriding all of the "shouldGenerate..." methods to
++ * return true, and then modifying the chunkdata in a later stage such as surface or bedrock generation.
++ */
++ @NotNull
++ @Deprecated(forRemoval = true)
++ public static ChunkGenerator.ChunkData createVanillaChunkData(@NotNull World world, int x, int z) {
++ return server.createVanillaChunkData(world, x, z);
++ }
++ // Paper end
++
+ /**
+ * Creates a boss bar instance to display to players. The progress
+ * defaults to 1.0
+diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
+index 7b6342a3d6ae0716876c958ef6029d5a6dc233bb..93626d79971125abd115ad7577fdee1d9fdd1f1f 100644
+--- a/src/main/java/org/bukkit/Server.java
++++ b/src/main/java/org/bukkit/Server.java
+@@ -1779,6 +1779,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+ @NotNull
+ public ChunkGenerator.ChunkData createChunkData(@NotNull World world);
+
++ // Paper start
++ /**
++ * Create a ChunkData for use in a generator, that is populated by the vanilla generator for that world.
++ *
++ * @param world the world to create the ChunkData for
++ * @param x the x coordinate of the chunk
++ * @param z the z coordinate of the chunk
++ * @return a new ChunkData for the world
++ * @deprecated The new multi-stage worldgen API allows a similar effect by overriding all of the "shouldGenerate..." methods to
++ * return true, and then modifying the chunkdata in a later stage such as surface or bedrock generation.
++ */
++ @NotNull
++ @Deprecated(forRemoval = true)
++ ChunkGenerator.ChunkData createVanillaChunkData(@NotNull World world, int x, int z);
++ // Paper end
++
+ /**
+ * Creates a boss bar instance to display to players. The progress
+ * defaults to 1.0
+diff --git a/src/main/java/org/bukkit/generator/ChunkGenerator.java b/src/main/java/org/bukkit/generator/ChunkGenerator.java
+index 7e7a53b41013f1bf8956c0e278820f18d77b2f0d..c942b7101a38ac7dc70e11e87afa1f9210000bc1 100644
+--- a/src/main/java/org/bukkit/generator/ChunkGenerator.java
++++ b/src/main/java/org/bukkit/generator/ChunkGenerator.java
+@@ -577,6 +577,22 @@ public abstract class ChunkGenerator {
+ return false;
+ }
+
++ // Paper start
++ /**
++ * Create a ChunkData for use in a generator, that is populated by the vanilla generator for that world
++ *
++ * @param world the world to create the ChunkData for
++ * @param x the x coordinate of the chunk
++ * @param z the z coordinate of the chunk
++ * @return a new ChunkData for the world
++ *
++ */
++ @NotNull
++ public ChunkData createVanillaChunkData(@NotNull World world, int x, int z) {
++ return Bukkit.getServer().createVanillaChunkData(world, x, z);
++ }
++ // Paper end
++
+ /**
+ * Gets if the server should generate Vanilla structures after this
+ * ChunkGenerator.