| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package me.lethunderhawk.world.island;
- import me.lethunderhawk.fluxapi.FluxService;
- import me.lethunderhawk.main.BazaarFlux;
- import org.bukkit.*;
- import org.bukkit.generator.ChunkGenerator;
- import java.util.Random;
- public final class IslandWorld {
- public World createWorldInFolder(String worldName, String folderName,
- World.Environment environment) {
- String worldPath = folderName + "/" + worldName;
- WorldCreator creator = new WorldCreator(worldPath);
- creator.environment(environment);
- creator.type(WorldType.NORMAL);
- creator.generateStructures(false);
- if (folderName.equals("islands")) {
- creator.generator(new EmptyChunkGenerator());
- }
- World world = creator.createWorld();
- if (world != null) {
- FluxService.get(BazaarFlux.class).getLogger().info("World " + worldName + " created in " + folderName);
- world.setGameRule(GameRule.DO_MOB_SPAWNING, false);
- world.setGameRule(GameRule.ANNOUNCE_ADVANCEMENTS, false);
- world.setGameRule(GameRule.KEEP_INVENTORY, true);
- world.setSpawnLocation(0,100,0);
- world.setVoidDamageAmount(1000f);
- }
- return world;
- }
- public static final class EmptyChunkGenerator extends ChunkGenerator{
- @Override
- public ChunkData generateChunkData(
- World world,
- Random random,
- int chunkX,
- int chunkZ,
- BiomeGrid biome
- ) {
- // Completely empty world
- return createChunkData(world);
- }
- @Override
- public boolean shouldGenerateNoise() { return false; }
- @Override
- public boolean shouldGenerateSurface() { return false; }
- @Override
- public boolean shouldGenerateBedrock() { return false; }
- @Override
- public boolean shouldGenerateCaves() { return false; }
- @Override
- public boolean shouldGenerateDecorations() { return false; }
- @Override
- public boolean shouldGenerateMobs() { return false; }
- }
- }
|