Class WorldCreator
-
Constructor Summary
ConstructorDescriptionWorldCreator(@NotNull String name)
Creates an empty WorldCreationOptions for the given world nameWorldCreator(@NotNull String levelName, @NotNull NamespacedKey worldKey)
Creates an empty WorldCreator for the given world name and keyWorldCreator(@NotNull NamespacedKey worldKey)
Creates an empty WorldCreator for the given key. -
Method Summary
Modifier and TypeMethodDescriptionCopies the options from the specified worldcopy(@NotNull WorldCreator creator)
Copies the options from the specifiedWorldCreator
Creates a world with the specified options.Gets the environment that will be used to create or load the worldenvironment(World.Environment env)
Sets the environment that will be used to create or load the worldboolean
Gets whether or not structures will be generated in the world.generateStructures(boolean generate)
Sets whether or not worlds created or loaded with this creator will have structures.Gets the generator that will be used to create or load the world.Sets the generator that will be used to create or load the world.generator(@Nullable String generator, @Nullable CommandSender output)
Sets the generator that will be used to create or load the world.generator(@Nullable ChunkGenerator generator)
Sets the generator that will be used to create or load the world.Gets the generator settings of the world that will be created or loaded.generatorSettings(@NotNull String generatorSettings)
Sets the generator settings of the world that will be created or loaded.static @Nullable ChunkGenerator
getGeneratorForName(@NotNull String world, @Nullable String name, @Nullable CommandSender output)
Attempts to get theChunkGenerator
with the given name.boolean
hardcore()
Gets whether the world will be hardcore or not.hardcore(boolean hardcore)
Sets whether the world will be hardcore or not.key()
Gets the key for this WorldCreatorname()
Gets the name of the world that is to be loaded or created.static @NotNull WorldCreator
Creates a newWorldCreator
for the given world namestatic @NotNull WorldCreator
ofKey(@NotNull NamespacedKey worldKey)
Creates an empty WorldCreator for the given key.static @NotNull WorldCreator
ofNameAndKey(@NotNull String levelName, @NotNull NamespacedKey worldKey)
Creates an empty WorldCreator for the given world name and keylong
seed()
Gets the seed that will be used to create this worldseed(long seed)
Sets the seed that will be used to create this worldtype()
Gets the type of the world that will be created or loadedSets the type of the world that will be created or loaded
-
Constructor Details
-
WorldCreator
Creates an empty WorldCreationOptions for the given world name- Parameters:
name
- Name of the world that will be created
-
WorldCreator
Creates an empty WorldCreator for the given world name and key- Parameters:
levelName
- LevelName of the world that will be createdworldKey
- NamespacedKey of the world that will be created
-
WorldCreator
Creates an empty WorldCreator for the given key. LevelName will be the Key part of the NamespacedKey.- Parameters:
worldKey
- NamespacedKey of the world that will be created
-
-
Method Details
-
key
Gets the key for this WorldCreator- Returns:
- the key
-
ofNameAndKey
@NotNull public static @NotNull WorldCreator ofNameAndKey(@NotNull @NotNull String levelName, @NotNull @NotNull NamespacedKey worldKey)Creates an empty WorldCreator for the given world name and key- Parameters:
levelName
- LevelName of the world that will be createdworldKey
- NamespacedKey of the world that will be created
-
ofKey
Creates an empty WorldCreator for the given key. LevelName will be the Key part of the NamespacedKey.- Parameters:
worldKey
- NamespacedKey of the world that will be created
-
copy
Copies the options from the specified world- Parameters:
world
- World to copy options from- Returns:
- This object, for chaining
-
copy
Copies the options from the specifiedWorldCreator
- Parameters:
creator
- World creator to copy options from- Returns:
- This object, for chaining
-
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
Sets the seed that will be used to create this world- Parameters:
seed
- World seed- Returns:
- This object, for chaining
-
environment
Gets the environment that will be used to create or load the world- Returns:
- World environment
-
environment
Sets the environment that will be used to create or load the world- Parameters:
env
- World environment- Returns:
- This object, for chaining
-
type
Gets the type of the world that will be created or loaded- Returns:
- World type
-
type
Sets the type of the world that will be created or loaded- Parameters:
type
- World type- Returns:
- This object, for chaining
-
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
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
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 @NotNull WorldCreator generator(@Nullable @Nullable String generator, @Nullable @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" notationoutput
-CommandSender
that will receive any error messages- Returns:
- This object, for chaining
-
generatorSettings
@NotNull public @NotNull WorldCreator generatorSettings(@NotNull @NotNull String generatorSettings)Sets the generator settings of the world that will be created or loaded.Currently only
WorldType.FLAT
uses these settings, and expects them to be in JSON format with a valid biome AND structures (1.16 and above) defined. Note the occurrence of "structures" twice (nested compound may be empty, both must exist.). An example valid configuration is as follows:{"structures": {"structures": {"village": {"salt": 8015723, "spacing": 32, "separation": 8}}}, "layers": [{"block": "stone", "height": 1}, {"block": "grass", "height": 1}], "biome":"plains"}
- Parameters:
generatorSettings
- The settings that should be used by the generator- Returns:
- This object, for chaining
- See Also:
- Custom
dimension (scroll to "When the generator ID type is
minecraft:flat
)"
-
generatorSettings
Gets the generator settings of the world that will be created or loaded.- Returns:
- The settings that should be used by the generator
- See Also:
generatorSettings(java.lang.String)
-
generateStructures
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
-
hardcore
Sets whether the world will be hardcore or not. In a hardcore world the difficulty will be locked to hard.- Parameters:
hardcore
- Whether the world will be hardcore- Returns:
- This object, for chaining
-
hardcore
public boolean hardcore()Gets whether the world will be hardcore or not. In a hardcore world the difficulty will be locked to hard.- Returns:
- hardcore status
-
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
Creates a newWorldCreator
for the given world name- Parameters:
name
- Name of the world to load or create- Returns:
- Resulting WorldCreator
-
getGeneratorForName
@Nullable public static @Nullable ChunkGenerator getGeneratorForName(@NotNull @NotNull String world, @Nullable @Nullable String name, @Nullable @Nullable CommandSender output)Attempts to get theChunkGenerator
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 forname
- Name of the generator to retrieveoutput
- Where to output if errors are present- Returns:
- Resulting generator, or null
-