Skip to content

Creating Worlds

LevelCreators are Wyck’s in-house implementation of Bukkit’s WorldCreator that are specifically suited for custom dimensions, biomes, and world generation.

ExamplePlugin.java Java
import dev.wyck.keys.ResourceKey;
import dev.wyck.model.level.LevelCreator;
import dev.wyck.model.level.dimension.Dimension;
import dev.wyck.wrapper.level.BiomeSource;
import dev.wyck.wrapper.level.noise.Noise;
import dev.wyck.wrapper.level.noise.chunk.ChunkGenerator;
import dev.wyck.wrapper.level.spawner.LevelSpawner;
import org.bukkit.plugin.java.JavaPlugin;

public class ExamplePlugin extends JavaPlugin {
  @Override
  public void onEnable() {
      // Get your dimension from somewhere or create your own!
      Dimension dimension = Dimension.reference(ResourceKey.minecraft("the_end"));

      // A quick example of a chunk generator with the biomes of the nether and noise generation of the overworld.
      ChunkGenerator chunkGenerator = ChunkGenerator.of(
          BiomeSource.nether(),
          Noise.overworld()
      );

      LevelCreator.builder()
          .resourceKey(ResourceKey.of("test:exampleworld"))
          .name("example_world") // Optionally force a name for the world
          .generateStructures(false)
          .bonusChest(true)
          .seed(123456789L) // Random by default
          .spawners(LevelSpawner.patrol(), LevelSpawner.cat(), LevelSpawner.phantom())
          .dimension(dimension)
          .generator(chunkGenerator)
          .create(); // Build and create the world!
  }
}