geforkt von Mirrors/Paper
57fdc668fa
The only way to get a map is via its id, which is not a magic value. This implementation isn't going to be changing anytime soon, so it should be undeprecated.
90 Zeilen
3.9 KiB
Diff
90 Zeilen
3.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: MiniDigger <admin@benndorf.dev>
|
|
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 21583b3413fcc5a42590464371cd929e37a4c2e0..60b2f21195384d544a7e123ce19a09ee437a6538 100644
|
|
--- a/src/main/java/org/bukkit/Bukkit.java
|
|
+++ b/src/main/java/org/bukkit/Bukkit.java
|
|
@@ -1903,6 +1903,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 stop
|
|
+
|
|
/**
|
|
* 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 a1f1efc1d953bd2daf46b84ffb3d63d2c2f19bee..35ec012867c6d87b76fd60d1ff55302612f96b9e 100644
|
|
--- a/src/main/java/org/bukkit/Server.java
|
|
+++ b/src/main/java/org/bukkit/Server.java
|
|
@@ -1598,6 +1598,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.
|