diff --git a/paper-api/src/main/java/org/bukkit/generator/BlockPopulator.java b/paper-api/src/main/java/org/bukkit/generator/BlockPopulator.java index fff9f9a144..a2e12ea3e1 100644 --- a/paper-api/src/main/java/org/bukkit/generator/BlockPopulator.java +++ b/paper-api/src/main/java/org/bukkit/generator/BlockPopulator.java @@ -8,13 +8,15 @@ import org.bukkit.World; * A block populator is responsible for generating a small area of blocks. * For example, generating glowstone inside the nether or generating dungeons full of treasure */ -public interface BlockPopulator { +public abstract class BlockPopulator { /** - * Populates an area of blocks at or around the given chunk + * Populates an area of blocks at or around the given chunk. + * + * The chunks directly surrounding the specified chunk must already exist. * * @param world The world to generate in * @param random The random generator to use * @param chunk The chunk to generate for */ - public void populate(World world, Random random, Chunk source); + public abstract void populate(World world, Random random, Chunk source); } diff --git a/paper-api/src/main/java/org/bukkit/generator/ChunkGenerator.java b/paper-api/src/main/java/org/bukkit/generator/ChunkGenerator.java index 1e98051aaf..4b30f85951 100644 --- a/paper-api/src/main/java/org/bukkit/generator/ChunkGenerator.java +++ b/paper-api/src/main/java/org/bukkit/generator/ChunkGenerator.java @@ -8,7 +8,7 @@ import org.bukkit.World; * A chunk generator is responsible for the initial shaping of an entire chunk. * For example, the nether chunk generator should shape netherrack and soulsand */ -public interface ChunkGenerator { +public abstract class ChunkGenerator { /** * Shapes the chunk for the given coordinates.
*
@@ -32,7 +32,7 @@ public interface ChunkGenerator { * @param z The Z-coordinate of the chunk * @return byte[] containing the types for each block created by this generator */ - public byte[] generate(World world, Random random, int x, int z); + public abstract byte[] generate(World world, Random random, int x, int z); /** * Tests if the specified location is valid for a natural spawn position @@ -42,7 +42,7 @@ public interface ChunkGenerator { * @param z Z-coordinate of the block to test * @return true if the location is valid, otherwise false */ - public boolean canSpawn(World world, int x, int z); + public abstract boolean canSpawn(World world, int x, int z); /** * Gets a list of default {@link BlockPopulator}s to apply to a given world @@ -50,5 +50,5 @@ public interface ChunkGenerator { * @param world World to apply to * @return List containing any amount of BlockPopulators */ - public List getDefaultPopulators(World world); + public abstract List getDefaultPopulators(World world); }