diff --git a/paper-api/src/main/java/org/bukkit/World.java b/paper-api/src/main/java/org/bukkit/World.java index 55d5b2881f..368a5e4f2f 100644 --- a/paper-api/src/main/java/org/bukkit/World.java +++ b/paper-api/src/main/java/org/bukkit/World.java @@ -761,6 +761,13 @@ public interface World extends PluginMessageRecipient { */ public WorldType getWorldType(); + /** + * Gets whether or not structures are being generated. + * + * @return True if structures are being generated. + */ + public boolean canGenerateStructures(); + /** * Represents various map environment types that a world may be */ diff --git a/paper-api/src/main/java/org/bukkit/WorldCreator.java b/paper-api/src/main/java/org/bukkit/WorldCreator.java index 17f3035651..b48c1ad55b 100644 --- a/paper-api/src/main/java/org/bukkit/WorldCreator.java +++ b/paper-api/src/main/java/org/bukkit/WorldCreator.java @@ -14,6 +14,7 @@ public class WorldCreator { private World.Environment environment = World.Environment.NORMAL; private ChunkGenerator generator = null; private WorldType type = WorldType.NORMAL; + private boolean generateStructures = true; /** * Creates an empty WorldCreationOptions for the given world name @@ -201,6 +202,26 @@ public class WorldCreator { return this; } + /** + * Sets whether or not worlds created or loaded with this creator will have structures. + * + * @return This object, for chaining + */ + public WorldCreator generateStructures(boolean generate) { + this.generateStructures = generate; + + return this; + } + + /** + * Gets whether or not structures will be generated in the world. + * + * @return True if structures will be generated + */ + public boolean generateStructures() { + return generateStructures; + } + /** * Creates a world with the specified options. *