Package org.bukkit

Class WorldCreator


  • public class WorldCreator
    extends Object
    Represents various types of options that may be used to create a world.
    • Constructor Detail

      • WorldCreator

        public WorldCreator​(@NotNull
                            String name)
        Creates an empty WorldCreationOptions for the given world name
        Parameters:
        name - Name of the world that will be created
    • Method Detail

      • copy

        @NotNull
        public WorldCreator copy​(@NotNull
                                 World world)
        Copies the options from the specified world
        Parameters:
        world - World to copy options from
        Returns:
        This object, for chaining
      • copy

        @NotNull
        public WorldCreator copy​(@NotNull
                                 WorldCreator creator)
        Copies the options from the specified WorldCreator
        Parameters:
        creator - World creator to copy options from
        Returns:
        This object, for chaining
      • name

        @NotNull
        public String name()
        Gets the name of the world that is to be loaded or created.
        Returns:
        World name
      • seed

        public long seed()
        Gets the seed that will be used to create this world
        Returns:
        World seed
      • seed

        @NotNull
        public WorldCreator seed​(long seed)
        Sets the seed that will be used to create this world
        Parameters:
        seed - World seed
        Returns:
        This object, for chaining
      • environment

        @NotNull
        public World.Environment environment()
        Gets the environment that will be used to create or load the world
        Returns:
        World environment
      • environment

        @NotNull
        public WorldCreator environment​(@NotNull
                                        World.Environment env)
        Sets the environment that will be used to create or load the world
        Parameters:
        env - World environment
        Returns:
        This object, for chaining
      • type

        @NotNull
        public WorldType type()
        Gets the type of the world that will be created or loaded
        Returns:
        World type
      • type

        @NotNull
        public WorldCreator type​(@NotNull
                                 WorldType type)
        Sets the type of the world that will be created or loaded
        Parameters:
        type - World type
        Returns:
        This object, for chaining
      • generator

        @Nullable
        public ChunkGenerator generator()
        Gets the generator that will be used to create or load the world.

        This may be null, in which case the "natural" generator for this environment will be used.

        Returns:
        Chunk generator
      • generator

        @NotNull
        public WorldCreator generator​(@Nullable
                                      ChunkGenerator generator)
        Sets the generator that will be used to create or load the world.

        This may be null, in which case the "natural" generator for this environment will be used.

        Parameters:
        generator - Chunk generator
        Returns:
        This object, for chaining
      • generator

        @NotNull
        public WorldCreator generator​(@Nullable
                                      String generator)
        Sets the generator that will be used to create or load the world.

        This may be null, in which case the "natural" generator for this environment will be used.

        If the generator cannot be found for the given name, the natural environment generator will be used instead and a warning will be printed to the console.

        Parameters:
        generator - Name of the generator to use, in "plugin:id" notation
        Returns:
        This object, for chaining
      • generator

        @NotNull
        public WorldCreator generator​(@Nullable
                                      String generator,
                                      @Nullable
                                      CommandSender output)
        Sets the generator that will be used to create or load the world.

        This may be null, in which case the "natural" generator for this environment will be used.

        If the generator cannot be found for the given name, the natural environment generator will be used instead and a warning will be printed to the specified output

        Parameters:
        generator - Name of the generator to use, in "plugin:id" notation
        output - CommandSender that will receive any error messages
        Returns:
        This object, for chaining
      • generatorSettings

        @NotNull
        public WorldCreator generatorSettings​(@NotNull
                                              String generatorSettings)
        Sets the generator settings of the world that will be created or loaded
        Parameters:
        generatorSettings - The settings that should be used by the generator
        Returns:
        This object, for chaining
      • generatorSettings

        @NotNull
        public String generatorSettings()
        Gets the generator settings of the world that will be created or loaded
        Returns:
        The settings that should be used by the generator
      • generateStructures

        @NotNull
        public WorldCreator generateStructures​(boolean generate)
        Sets whether or not worlds created or loaded with this creator will have structures.
        Parameters:
        generate - Whether to generate structures
        Returns:
        This object, for chaining
      • generateStructures

        public boolean generateStructures()
        Gets whether or not structures will be generated in the world.
        Returns:
        True if structures will be generated
      • createWorld

        @Nullable
        public World createWorld()
        Creates a world with the specified options.

        If the world already exists, it will be loaded from disk and some options may be ignored.

        Returns:
        Newly created or loaded world
      • name

        @NotNull
        public static WorldCreator name​(@NotNull
                                        String name)
        Creates a new WorldCreator for the given world name
        Parameters:
        name - Name of the world to load or create
        Returns:
        Resulting WorldCreator
      • getGeneratorForName

        @Nullable
        public static ChunkGenerator getGeneratorForName​(@NotNull
                                                         String world,
                                                         @Nullable
                                                         String name,
                                                         @Nullable
                                                         CommandSender output)
        Attempts to get the ChunkGenerator with the given name.

        If the generator is not found, null will be returned and a message will be printed to the specified CommandSender explaining why.

        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.

        Parameters:
        world - Name of the world this will be used for
        name - Name of the generator to retrieve
        output - Where to output if errors are present
        Returns:
        Resulting generator, or null