Resource [GUIDE] Creating empty (void) worlds in 1.8-1.14.4

Discussion in 'Spigot Plugin Development' started by robertlit, Oct 19, 2019.

  1. So I was looking for a way to generate void worlds, I found some threads about the subject but they were mostly unclear, eventually I found a way (it was mentioned in one of the threads but was not really well explained) and I thought I should share it, hope it helps!

    Versions 1.13 and above:

    Step 1:
    Creating a new chunk generator class that will extend the default ChunkGenerator class and will override the method that returns the chunk data and modify it to be empty.
    Code (Java):
    import java.util.Random;

    import javax.annotation.Nonnull;

    import org.bukkit.World;
    import org.bukkit.generator.ChunkGenerator;

    public class EmptyChunkGenerator extends ChunkGenerator {

        @Override
        @Nonnull
        public ChunkData generateChunkData(@Nonnull World world, @Nonnull Random random, int x, int z, @Nonnull BiomeGrid biome) {
            return createChunkData(world);
        }
    }

    Step 2:
    Generating a world using the chunk generator that we created in step 1.
    Code (Java):
    WorldCreator wc = new WorldCreator("WORLD NAME HERE");
            wc.generator(new EmptyChunkGenerator()); //The chunk generator from step 1
            wc.createWorld();

    Versions 1.8 - 1.12.2:
    This is very simple, there is only one step and it takes just a few lines of code.
    Code (Text):
    WorldCreator wc = new WorldCreator("WORLD NAME HERE");
            wc.type(WorldType.FLAT);
            wc.generatorSettings("2;0;1;"); //This is what makes the world empty (void)
            wc.createWorld();


    Hope this helped you :)
     
    #1 robertlit, Oct 19, 2019
    Last edited: Oct 20, 2019
    • Useful Useful x 3
    • Winner Winner x 1
  2. Useful!
    How come the default flat generator cannot be used in 1.13+?
     
  3. Can’t use IDs in 1.13+ last I recall
     
  4. Well you can just use the internal names? (like minecraft:stone)

    Here's the generator settings for a 1.13+ void flatworld: "minecraft:air;minecraft;plains;"
     
  5. Ah, I misinterpreted your question. I was referring specifically to why the example code listing can’t be used in 1.13+.
     
    • Friendly Friendly x 1
  6. In that case, you're correct :p