當前位置: 首頁>>代碼示例>>Java>>正文


Java ChunkGenerator類代碼示例

本文整理匯總了Java中org.bukkit.generator.ChunkGenerator的典型用法代碼示例。如果您正苦於以下問題:Java ChunkGenerator類的具體用法?Java ChunkGenerator怎麽用?Java ChunkGenerator使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


ChunkGenerator類屬於org.bukkit.generator包,在下文中一共展示了ChunkGenerator類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: generateChunkData

import org.bukkit.generator.ChunkGenerator; //導入依賴的package包/類
@Override
public ChunkData generateChunkData(World world, Random random, int chunkX, int chunkZ, ChunkGenerator.BiomeGrid biomeGrid) {
    if (world.getEnvironment().equals(World.Environment.NETHER)) {
        return generateNetherChunks(world, random, chunkX, chunkZ, biomeGrid);
    }
    ChunkData result = createChunkData(world);
    if (Settings.seaHeight != 0) {
        for (int x = 0; x < 16; x++) {
            for (int z = 0; z < 16; z++) {
                for (int y = 0; y < Settings.seaHeight; y++) {
                    result.setBlock(x, y, z, Material.STATIONARY_WATER);
                }
            }
        }

    }
    return result;
}
 
開發者ID:tastybento,項目名稱:bskyblock,代碼行數:19,代碼來源:ChunkGeneratorWorld.java

示例2: generate

import org.bukkit.generator.ChunkGenerator; //導入依賴的package包/類
public void generate(byte[][] chunk, World world, int chunkX, int chunkZ, ChunkGenerator.BiomeGrid grid) {
    for (int x = 0; x < 16; x++) {
        for (int z = 0; z < 16; z++) {
            int realX = x + chunkX * 16;
            int realZ = z + chunkZ * 16;
            grid.setBiome(x, z, null);
            // Generate basic terrain
            double height = baseHeight + generateSea(realX, realZ, grid) + generateHugeMountain(realX, realZ) + terrainAmplitude1 * terrainGenerator1.noise(realX * terrainFreq1, realZ * terrainFreq1) + terrainAmplitude2 * terrainGenerator2.noise(realX * terrainFreq2, realZ * terrainFreq2);
            double humidity = 50D + 50D * humidityGenerator.noise(realX * humidityFreq, realZ * humidityFreq);
            double temperature = 8D + 24D * temperatureGenerator.noise(realX * temperatureFreq, realZ * temperatureFreq);
            if (height > baseHeight)
                grid.setBiome(x, z, null);
            for (int y = 1; y < 256; y++) {
                if (grid.getBiome(x, z) != null) {
                    if (y < height) setBlock(x, y, z, chunk, Material.STONE);
                    else if (y < baseHeight) setBlock(x, y, z, chunk, Material.WATER);
                    else setBlock(x, y, z, chunk, Material.AIR);
                } else if (y <= height) setBlock(x, y, z, chunk, Material.STONE);
            }
        }
    }
}
 
開發者ID:IzzelAliz,項目名稱:TalentZzzz,代碼行數:23,代碼來源:BasicTerrainGenerator.java

示例3: generateSea

import org.bukkit.generator.ChunkGenerator; //導入依賴的package包/類
private double generateSea(int x, int z, ChunkGenerator.BiomeGrid grid) {
    double height = seaAmplitude * seaGenerator.noise(x * seaFreq, z * seaFreq);
    if (height < -0.05) {
        grid.setBiome((x % 16 + 16) % 16, (z % 16 + 16) % 16, Biome.OCEAN);
        if (height < -0.2) grid.setBiome((x % 16 + 16) % 16, (z % 16 + 16) % 16, Biome.DEEP_OCEAN);
    }
    return height > 0 ? 0 : height;
}
 
開發者ID:IzzelAliz,項目名稱:TalentZzzz,代碼行數:9,代碼來源:BasicTerrainGenerator.java

示例4: WorldCreatorData

import org.bukkit.generator.ChunkGenerator; //導入依賴的package包/類
public WorldCreatorData(
        Optional<String> name,
        @Nullable Dimension dimension,
        Optional<Long> seed,
        @Nullable WorldType type,
        Optional<ChunkGenerator> generator,
        @Nullable String generatorSettings,
        @Nullable Boolean structures
) {
    if (name == null) {
        throw new IllegalArgumentException("The name of a creator cannot be null!");
    }
    this.name = name;
    this.dimension = Optional.ofNullable(dimension).orElse(Dimension.NORMAL);
    this.type = Optional.ofNullable(type).orElse(WorldType.NORMAL);
    this.seed = seed;
    this.generator = generator;
    this.generatorSettings = Optional.ofNullable(generatorSettings).orElse("");
    this.structures = Optional.ofNullable(structures).orElse(true);
}
 
開發者ID:MundoSK,項目名稱:MundoSK,代碼行數:21,代碼來源:WorldCreatorData.java

示例5: getDefaultWorldGenerator

import org.bukkit.generator.ChunkGenerator; //導入依賴的package包/類
@Override
final public ChunkGenerator getDefaultWorldGenerator(final String world, final String id) {
    WorldEvents.lastWorld = world;
    if (!PlotSquared.setupPlotWorld(world, id)) {
        return null;
    }
    HybridGen result = new HybridGen(world);
    TaskManager.runTaskLater(new Runnable() {
        @Override
        public void run() {
            if (WorldEvents.lastWorld != null && WorldEvents.lastWorld.equals(world)) {
                WorldEvents.lastWorld = null;
            }
        }
    }, 20);
    return result;
}
 
開發者ID:Mayomi,項目名稱:PlotSquared-Chinese,代碼行數:18,代碼來源:BukkitMain.java

示例6: updateGenerators

import org.bukkit.generator.ChunkGenerator; //導入依賴的package包/類
@Override
    public void updateGenerators() {
        if (SetupUtils.generators.size() > 0) {
            return;
        }
        final String testWorld = "CheckingPlotSquaredGenerator";
        for (final Plugin plugin : Bukkit.getPluginManager().getPlugins()) {
            if (plugin.isEnabled()) {
                final ChunkGenerator generator = plugin.getDefaultWorldGenerator(testWorld, "");
                if (generator != null) {
                    PlotSquared.removePlotWorld(testWorld);
                    final String name = plugin.getDescription().getName();
//                        final PlotGenerator pgen = (PlotGenerator) generator;
//                        if (pgen.getPlotManager() instanceof SquarePlotManager) {
                            SetupUtils.generators.put(name, generator);
//                        }
//                    }
                }
            }
        }
    }
 
開發者ID:Mayomi,項目名稱:PlotSquared-Chinese,代碼行數:22,代碼來源:BukkitSetupUtils.java

示例7: getWorld

import org.bukkit.generator.ChunkGenerator; //導入依賴的package包/類
public World getWorld() {
    if (uSkyBlock.skyBlockWorld == null) {
        skyBlockWorld = Bukkit.getWorld(Settings.general_worldName);
        ChunkGenerator skyGenerator = getGenerator();
        ChunkGenerator worldGenerator = skyBlockWorld != null ? skyBlockWorld.getGenerator() : null;
        if (skyBlockWorld == null || skyBlockWorld.canGenerateStructures() ||
                worldGenerator == null || !worldGenerator.getClass().getName().equals(skyGenerator.getClass().getName()))
        {
            uSkyBlock.skyBlockWorld = WorldCreator
                    .name(Settings.general_worldName)
                    .type(WorldType.NORMAL)
                    .generateStructures(false)
                    .environment(World.Environment.NORMAL)
                    .generator(skyGenerator)
                    .createWorld();
            uSkyBlock.skyBlockWorld.save();
        }
        MultiverseCoreHandler.importWorld(skyBlockWorld);
        setupWorld(skyBlockWorld, island_height);
    }
    return uSkyBlock.skyBlockWorld;
}
 
開發者ID:rlf,項目名稱:uSkyBlock,代碼行數:23,代碼來源:uSkyBlock.java

示例8: getSkyBlockNetherWorld

import org.bukkit.generator.ChunkGenerator; //導入依賴的package包/類
public World getSkyBlockNetherWorld() {
    if (skyBlockNetherWorld == null && Settings.nether_enabled) {
        skyBlockNetherWorld = Bukkit.getWorld(Settings.general_worldName + "_nether");
        ChunkGenerator skyGenerator = getNetherGenerator();
        ChunkGenerator worldGenerator = skyBlockNetherWorld != null ? skyBlockNetherWorld.getGenerator() : null;
        if (skyBlockNetherWorld == null || skyBlockNetherWorld.canGenerateStructures() ||
                worldGenerator == null || !worldGenerator.getClass().getName().equals(skyGenerator.getClass().getName())) {
            uSkyBlock.skyBlockNetherWorld = WorldCreator
                    .name(Settings.general_worldName + "_nether")
                    .type(WorldType.NORMAL)
                    .generateStructures(false)
                    .environment(World.Environment.NETHER)
                    .generator(skyGenerator)
                    .createWorld();
            uSkyBlock.skyBlockNetherWorld.save();
        }
        MultiverseCoreHandler.importNetherWorld(skyBlockNetherWorld);
        setupWorld(skyBlockNetherWorld, island_height / 2);
        MultiverseInventoriesHandler.linkWorlds(getWorld(), skyBlockNetherWorld);
    }
    return skyBlockNetherWorld;
}
 
開發者ID:rlf,項目名稱:uSkyBlock,代碼行數:23,代碼來源:uSkyBlock.java

示例9: getGenerator

import org.bukkit.generator.ChunkGenerator; //導入依賴的package包/類
@Override
public String getGenerator(PlotArea plotArea) {
    if (SetupUtils.generators.isEmpty()) {
        updateGenerators();
    }
    World world = Bukkit.getWorld(plotArea.worldname);
    if (world == null) {
        return null;
    }
    ChunkGenerator generator = world.getGenerator();
    if (!(generator instanceof BukkitPlotGenerator)) {
        return null;
    }
    for (Entry<String, GeneratorWrapper<?>> entry : SetupUtils.generators.entrySet()) {
        GeneratorWrapper<?> current = entry.getValue();
        if (current.equals(generator)) {
            return entry.getKey();
        }
    }
    return null;
}
 
開發者ID:IntellectualSites,項目名稱:PlotSquared,代碼行數:22,代碼來源:BukkitSetupUtils.java

示例10: onWorldInit

import org.bukkit.generator.ChunkGenerator; //導入依賴的package包/類
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onWorldInit(WorldInitEvent event) {
    World world = event.getWorld();
    String name = world.getName();
    PlotAreaManager manager = PS.get().getPlotAreaManager();
    if (manager instanceof SinglePlotAreaManager) {
        SinglePlotAreaManager single = (SinglePlotAreaManager) manager;
        if (single.isWorld(name)) {
            world.setKeepSpawnInMemory(false);
            return;
        }
    }
    ChunkGenerator gen = world.getGenerator();
    if (gen instanceof GeneratorWrapper) {
        PS.get().loadWorld(name, (GeneratorWrapper<?>) gen);
    } else {
        PS.get().loadWorld(name, new BukkitPlotGenerator(name, gen));
    }
}
 
開發者ID:IntellectualSites,項目名稱:PlotSquared,代碼行數:20,代碼來源:WorldEvents.java

示例11: getGenerator

import org.bukkit.generator.ChunkGenerator; //導入依賴的package包/類
public ChunkGenerator getGenerator(String world) {
    ConfigurationSection section = configuration.getConfigurationSection("worlds");
    ChunkGenerator result = null;

    if (section != null) {
        section = section.getConfigurationSection(world);

        if (section != null) {
            String name = section.getString("generator");

            if ((name != null) && (!name.equals(""))) {
                String[] split = name.split(":", 2);
                String id = (split.length > 1) ? split[1] : null;
                Plugin plugin = pluginManager.getPlugin(split[0]);

                if (plugin == null) {
                    getLogger().severe("Could not set generator for default world '" + world + "': Plugin '" + split[0] + "' does not exist");
                } else if (!plugin.isEnabled()) {
                    getLogger().severe("Could not set generator for default world '" + world + "': Plugin '" + plugin.getDescription().getFullName() + "' is not enabled yet (is it load:STARTUP?)");
                } else {
                    try {
                        result = plugin.getDefaultWorldGenerator(world, id);
                        if (result == null) {
                            getLogger().severe("Could not set generator for default world '" + world + "': Plugin '" + plugin.getDescription().getFullName() + "' lacks a default world generator");
                        }
                    } catch (Throwable t) {
                        plugin.getLogger().log(Level.SEVERE, "Could not set generator for default world '" + world + "': Plugin '" + plugin.getDescription().getFullName(), t);
                    }
                }
            }
        }
    }

    return result;
}
 
開發者ID:UraniumMC,項目名稱:Uranium,代碼行數:36,代碼來源:CraftServer.java

示例12: getGeneratorForName

import org.bukkit.generator.ChunkGenerator; //導入依賴的package包/類
/**
 * Attempts to get the {@link ChunkGenerator} with the given name.
 * <p>
 * If the generator is not found, null will be returned and a message will
 * be printed to the specified {@link CommandSender} explaining why.
 * <p>
 * The name must be in the "plugin:id" notation, or optionally just
 * "plugin", where "plugin" is the safe-name of a plugin and "id" is an
 * optional unique identifier for the generator you wish to request from
 * the plugin.
 *
 * @param world Name of the world this will be used for
 * @param name Name of the generator to retrieve
 * @param output Where to output if errors are present
 * @return Resulting generator, or null
 */
public static ChunkGenerator getGeneratorForName(String world, String name, CommandSender output) {
    ChunkGenerator result = null;

    if (world == null) {
        throw new IllegalArgumentException("World name must be specified");
    }

    if (output == null) {
        output = Bukkit.getConsoleSender();
    }

    if (name != null) {
        String[] split = name.split(":", 2);
        String id = (split.length > 1) ? split[1] : null;
        Plugin plugin = Bukkit.getPluginManager().getPlugin(split[0]);

        if (plugin == null) {
            output.sendMessage("Could not set generator for world '" + world + "': Plugin '" + split[0] + "' does not exist");
        } else if (!plugin.isEnabled()) {
            output.sendMessage("Could not set generator for world '" + world + "': Plugin '" + plugin.getDescription().getFullName() + "' is not enabled");
        } else {
            result = plugin.getDefaultWorldGenerator(world, id);
        }
    }

    return result;
}
 
開發者ID:CyberdyneCC,項目名稱:Thermos-Bukkit,代碼行數:44,代碼來源:WorldCreator.java

示例13: CraftWorld

import org.bukkit.generator.ChunkGenerator; //導入依賴的package包/類
public CraftWorld(net.minecraft.world.WorldServer world, ChunkGenerator gen, Environment env) {
    this.world = world;
    this.generator = gen;

    environment = env;

    if (server.chunkGCPeriod > 0) {
        chunkGCTickCount = rand.nextInt(server.chunkGCPeriod);
    }
}
 
開發者ID:CyberdyneCC,項目名稱:Thermos,代碼行數:11,代碼來源:CraftWorld.java

示例14: CraftWorld

import org.bukkit.generator.ChunkGenerator; //導入依賴的package包/類
public CraftWorld(WorldServer world, ChunkGenerator gen, Environment env) {
    this.world = world;
    this.generator = gen;

    environment = env;

    if (server.chunkGCPeriod > 0) {
        chunkGCTickCount = rand.nextInt(server.chunkGCPeriod);
    }
}
 
開發者ID:OvercastNetwork,項目名稱:CraftBukkit,代碼行數:11,代碼來源:CraftWorld.java

示例15: displayGenerators

import org.bukkit.generator.ChunkGenerator; //導入依賴的package包/類
public void displayGenerators(PlotPlayer plr) {
    StringBuffer message = new StringBuffer();
    message.append("&6你想要生成什麽類型地皮?");
    for (Entry<String, ChunkGenerator> entry : SetupUtils.generators.entrySet()) {
        if (entry.getKey().equals("PlotSquared")) {
            message.append("\n&8 - &2" + entry.getKey() + " (默認生成參數)");
        }
        else if (entry.getValue() instanceof HybridGen) {
            message.append("\n&8 - &7" + entry.getKey() + " (混合生成參數)");
        }
        else if (entry.getValue() instanceof PlotGenerator) {
            message.append("\n&8 - &7" + entry.getKey() + " (高級地皮生成參數)");
        }
        else {
            message.append("\n&8 - &7" + entry.getKey() + " (其他生成參數)");
        }
    }
    MainUtil.sendMessage(plr, message.toString());
}
 
開發者ID:Mayomi,項目名稱:PlotSquared-Chinese,代碼行數:20,代碼來源:DebugSetup.java


注:本文中的org.bukkit.generator.ChunkGenerator類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。