public class WorldCreator extends Object
Constructor and Description |
---|
WorldCreator(@NotNull NamespacedKey worldKey)
Creates an empty WorldCreator for the given key.
|
WorldCreator(@NotNull String name)
Creates an empty WorldCreationOptions for the given world name
|
WorldCreator(@NotNull String levelName,
@NotNull NamespacedKey worldKey)
Creates an empty WorldCreator for the given world name and key
|
Modifier and Type | Method and Description |
---|---|
@NotNull WorldCreator |
copy(@NotNull World world)
Copies the options from the specified world
|
@NotNull WorldCreator |
copy(@NotNull WorldCreator creator)
Copies the options from the specified
WorldCreator |
@Nullable World |
createWorld()
Creates a world with the specified options.
|
World.Environment |
environment()
Gets the environment that will be used to create or load the world
|
@NotNull WorldCreator |
environment(World.Environment env)
Sets the environment that will be used to create or load the world
|
boolean |
generateStructures()
Gets whether or not structures will be generated in the world.
|
@NotNull WorldCreator |
generateStructures(boolean generate)
Sets whether or not worlds created or loaded with this creator will
have structures.
|
@Nullable ChunkGenerator |
generator()
Gets the generator that will be used to create or load the world.
|
@NotNull WorldCreator |
generator(@Nullable ChunkGenerator generator)
Sets the generator that will be used to create or load the world.
|
@NotNull WorldCreator |
generator(@Nullable String generator)
Sets the generator that will be used to create or load the world.
|
@NotNull WorldCreator |
generator(@Nullable String generator,
@Nullable CommandSender output)
Sets the generator that will be used to create or load the world.
|
@NotNull String |
generatorSettings()
Gets the generator settings of the world that will be created or loaded.
|
@NotNull WorldCreator |
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 the
ChunkGenerator with the given name. |
boolean |
hardcore()
Gets whether the world will be hardcore or not.
|
@NotNull WorldCreator |
hardcore(boolean hardcore)
Sets whether the world will be hardcore or not.
|
@NotNull NamespacedKey |
key()
Gets the key for this WorldCreator
|
@NotNull String |
name()
Gets the name of the world that is to be loaded or created.
|
static @NotNull WorldCreator |
name(@NotNull String name)
Creates a new
WorldCreator for the given world name |
static @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 key
|
long |
seed()
Gets the seed that will be used to create this world
|
@NotNull WorldCreator |
seed(long seed)
Sets the seed that will be used to create this world
|
@NotNull WorldType |
type()
Gets the type of the world that will be created or loaded
|
@NotNull WorldCreator |
type(@NotNull WorldType type)
Sets the type of the world that will be created or loaded
|
public WorldCreator(@NotNull @NotNull String name)
name
- Name of the world that will be createdpublic WorldCreator(@NotNull @NotNull String levelName, @NotNull @NotNull NamespacedKey worldKey)
levelName
- LevelName of the world that will be createdworldKey
- NamespacedKey of the world that will be createdpublic WorldCreator(@NotNull @NotNull NamespacedKey worldKey)
worldKey
- NamespacedKey of the world that will be created@NotNull public @NotNull NamespacedKey key()
@NotNull public static @NotNull WorldCreator ofNameAndKey(@NotNull @NotNull String levelName, @NotNull @NotNull NamespacedKey worldKey)
levelName
- LevelName of the world that will be createdworldKey
- NamespacedKey of the world that will be created@NotNull public static @NotNull WorldCreator ofKey(@NotNull @NotNull NamespacedKey worldKey)
worldKey
- NamespacedKey of the world that will be created@NotNull public @NotNull WorldCreator copy(@NotNull @NotNull World world)
world
- World to copy options from@NotNull public @NotNull WorldCreator copy(@NotNull @NotNull WorldCreator creator)
WorldCreator
creator
- World creator to copy options from@NotNull public @NotNull String name()
public long seed()
@NotNull public @NotNull WorldCreator seed(long seed)
seed
- World seed@NotNull public World.Environment environment()
@NotNull public @NotNull WorldCreator environment(@NotNull World.Environment env)
env
- World environment@NotNull public @NotNull WorldType type()
@NotNull public @NotNull WorldCreator type(@NotNull @NotNull WorldType type)
type
- World type@Nullable public @Nullable ChunkGenerator generator()
This may be null, in which case the "natural" generator for this environment will be used.
@NotNull public @NotNull WorldCreator generator(@Nullable @Nullable ChunkGenerator generator)
This may be null, in which case the "natural" generator for this environment will be used.
generator
- Chunk generator@NotNull public @NotNull WorldCreator generator(@Nullable @Nullable String generator)
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.
generator
- Name of the generator to use, in "plugin:id" notation@NotNull public @NotNull WorldCreator generator(@Nullable @Nullable String generator, @Nullable @Nullable CommandSender output)
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
generator
- Name of the generator to use, in "plugin:id" notationoutput
- CommandSender
that will receive any error
messages@NotNull public @NotNull WorldCreator generatorSettings(@NotNull @NotNull String generatorSettings)
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"}
generatorSettings
- The settings that should be used by the
generatorminecraft:flat
)"@NotNull public @NotNull String generatorSettings()
generatorSettings(java.lang.String)
@NotNull public @NotNull WorldCreator generateStructures(boolean generate)
generate
- Whether to generate structurespublic boolean generateStructures()
@NotNull public @NotNull WorldCreator hardcore(boolean hardcore)
hardcore
- Whether the world will be hardcorepublic boolean hardcore()
@Nullable public @Nullable World createWorld()
If the world already exists, it will be loaded from disk and some options may be ignored.
@NotNull public static @NotNull WorldCreator name(@NotNull @NotNull String name)
WorldCreator
for the given world namename
- Name of the world to load or create@Nullable public static @Nullable ChunkGenerator getGeneratorForName(@NotNull @NotNull String world, @Nullable @Nullable String name, @Nullable @Nullable CommandSender output)
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.
world
- Name of the world this will be used forname
- Name of the generator to retrieveoutput
- Where to output if errors are presentCopyright © 2021. All rights reserved.