2021-06-11 14:02:28 +02:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
2021-11-27 09:11:43 +01:00
|
|
|
From: MiniDigger <admin@benndorf.dev>
|
2021-06-11 14:02:28 +02:00
|
|
|
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
|
2024-04-06 23:20:29 +02:00
|
|
|
index 6ac4c0c6c2245e6bee9575ff4804994648112d78..3d0e5045f0d6bf3bee4a94e552a57d2b7d481c02 100644
|
2021-06-11 14:02:28 +02:00
|
|
|
--- a/src/main/java/org/bukkit/Bukkit.java
|
|
|
|
+++ b/src/main/java/org/bukkit/Bukkit.java
|
2024-04-06 23:20:29 +02:00
|
|
|
@@ -2082,6 +2082,24 @@ public final class Bukkit {
|
2021-06-11 14:02:28 +02:00
|
|
|
return server.createChunkData(world);
|
|
|
|
}
|
2021-12-05 11:27:20 +01:00
|
|
|
|
2021-06-11 14:02:28 +02:00
|
|
|
+ // 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
|
2021-12-05 11:27:20 +01:00
|
|
|
+ * @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.
|
2021-06-11 14:02:28 +02:00
|
|
|
+ */
|
|
|
|
+ @NotNull
|
2021-12-05 11:27:20 +01:00
|
|
|
+ @Deprecated(forRemoval = true)
|
2021-06-11 14:02:28 +02:00
|
|
|
+ public static ChunkGenerator.ChunkData createVanillaChunkData(@NotNull World world, int x, int z) {
|
|
|
|
+ return server.createVanillaChunkData(world, x, z);
|
|
|
|
+ }
|
2024-01-21 19:37:09 +01:00
|
|
|
+ // Paper end
|
2021-06-11 14:02:28 +02:00
|
|
|
+
|
|
|
|
/**
|
|
|
|
* 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
|
2024-04-06 23:20:29 +02:00
|
|
|
index 052d0e420f2631ff925bb5df4a41a1cecc2d7e16..b4e520b82c026c62e5bd3840aa80cdc8d177b6f1 100644
|
2021-06-11 14:02:28 +02:00
|
|
|
--- a/src/main/java/org/bukkit/Server.java
|
|
|
|
+++ b/src/main/java/org/bukkit/Server.java
|
2024-04-06 23:20:29 +02:00
|
|
|
@@ -1760,6 +1760,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
|
2021-06-11 14:02:28 +02:00
|
|
|
@NotNull
|
|
|
|
public ChunkGenerator.ChunkData createChunkData(@NotNull World world);
|
2021-12-05 11:27:20 +01:00
|
|
|
|
2021-06-11 14:02:28 +02:00
|
|
|
+ // Paper start
|
|
|
|
+ /**
|
2021-12-05 11:27:20 +01:00
|
|
|
+ * Create a ChunkData for use in a generator, that is populated by the vanilla generator for that world.
|
2021-06-11 14:02:28 +02:00
|
|
|
+ *
|
|
|
|
+ * @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
|
2021-12-05 11:27:20 +01:00
|
|
|
+ * @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.
|
2021-06-11 14:02:28 +02:00
|
|
|
+ */
|
|
|
|
+ @NotNull
|
2021-12-05 11:27:20 +01:00
|
|
|
+ @Deprecated(forRemoval = true)
|
2021-06-11 14:02:28 +02:00
|
|
|
+ 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
|
2023-03-31 06:09:13 +02:00
|
|
|
index 7e7a53b41013f1bf8956c0e278820f18d77b2f0d..c942b7101a38ac7dc70e11e87afa1f9210000bc1 100644
|
2021-06-11 14:02:28 +02:00
|
|
|
--- a/src/main/java/org/bukkit/generator/ChunkGenerator.java
|
|
|
|
+++ b/src/main/java/org/bukkit/generator/ChunkGenerator.java
|
2022-12-03 19:19:09 +01:00
|
|
|
@@ -577,6 +577,22 @@ public abstract class ChunkGenerator {
|
2021-06-11 14:02:28 +02:00
|
|
|
return false;
|
|
|
|
}
|
2021-12-05 11:27:20 +01:00
|
|
|
|
2021-06-11 14:02:28 +02:00
|
|
|
+ // 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
|
|
|
|
+
|
|
|
|
/**
|
2022-12-03 19:19:09 +01:00
|
|
|
* Gets if the server should generate Vanilla structures after this
|
|
|
|
* ChunkGenerator.
|