diff options
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.patch | 89 |
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. |