702 lines
22 KiB
Java
702 lines
22 KiB
Java
package org.mvplugins.multiverse.core.world;
|
|
|
|
import java.util.List;
|
|
|
|
import com.google.common.base.Strings;
|
|
import io.vavr.control.Option;
|
|
import io.vavr.control.Try;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.Difficulty;
|
|
import org.bukkit.GameMode;
|
|
import org.bukkit.Location;
|
|
import org.bukkit.Material;
|
|
import org.bukkit.World;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
import org.mvplugins.multiverse.core.configuration.handle.StringPropertyHandle;
|
|
import org.mvplugins.multiverse.core.world.config.AllowedPortalType;
|
|
import org.mvplugins.multiverse.core.world.config.WorldConfig;
|
|
|
|
/**
|
|
* Represents a world handled by Multiverse which has all the custom properties provided by Multiverse.
|
|
*/
|
|
public class MultiverseWorld {
|
|
/**
|
|
* This world's name.
|
|
*/
|
|
protected final String worldName;
|
|
|
|
/**
|
|
* This world's configuration.
|
|
*/
|
|
protected WorldConfig worldConfig;
|
|
|
|
MultiverseWorld(String worldName, WorldConfig worldConfig) {
|
|
this.worldName = worldName;
|
|
this.worldConfig = worldConfig;
|
|
}
|
|
|
|
/**
|
|
* Gets the name of this world. The name cannot be changed.
|
|
* <br/>
|
|
* Note for plugin developers: Usually {@link #getAlias()}
|
|
* is what you want to use instead of this method.
|
|
*
|
|
* @return The name of the world as a String.
|
|
*/
|
|
public String getName() {
|
|
return worldName;
|
|
}
|
|
|
|
/**
|
|
* Gets whether this world is loaded.
|
|
*
|
|
* @return True if the world is loaded, else false.
|
|
*/
|
|
public boolean isLoaded() {
|
|
return worldConfig.hasMVWorld();
|
|
}
|
|
|
|
/**
|
|
* Gets the properties handler of this world.
|
|
*
|
|
* @return The properties handler of this world.
|
|
*/
|
|
public StringPropertyHandle getStringPropertyHandle() {
|
|
return worldConfig.getStringPropertyHandle();
|
|
}
|
|
|
|
/**
|
|
* Gets whether or not Multiverse should auto-adjust the spawn for this world.
|
|
*
|
|
* @return True if Multiverse should adjust the spawn, false if not.
|
|
*/
|
|
public boolean getAdjustSpawn() {
|
|
return worldConfig.getAdjustSpawn();
|
|
}
|
|
|
|
/**
|
|
* Sets whether or not Multiverse should auto-adjust the spawn for this world.
|
|
*
|
|
* @param adjustSpawn True if multiverse should adjust the spawn, false if not.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setAdjustSpawn(boolean adjustSpawn) {
|
|
return worldConfig.setAdjustSpawn(adjustSpawn);
|
|
}
|
|
|
|
/**
|
|
* Gets the alias of this world.
|
|
* <br/>
|
|
* This alias allows users to have a world named "world" but show up in the list as "FernIsland"
|
|
*
|
|
* @return The alias of the world as a String.
|
|
*/
|
|
public String getAlias() {
|
|
return Strings.isNullOrEmpty(worldConfig.getAlias()) ? worldName : worldConfig.getAlias();
|
|
}
|
|
|
|
/**
|
|
* Sets the alias of the world.
|
|
*
|
|
* @param alias A string that is the new alias.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setAlias(String alias) {
|
|
return worldConfig.setAlias(alias);
|
|
}
|
|
|
|
/**
|
|
* Whether or not players are allowed to fly in this world.
|
|
*
|
|
* @return True if players allowed to fly in this world.
|
|
*/
|
|
public boolean getAllowFlight() {
|
|
return worldConfig.getAllowFlight();
|
|
}
|
|
|
|
/**
|
|
* Sets whether or not players are allowed to fly in this world.
|
|
*
|
|
* @param allowFlight True to allow flight in this world.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setAllowFlight(boolean allowFlight) {
|
|
return worldConfig.setAllowFlight(allowFlight);
|
|
}
|
|
|
|
/**
|
|
* Gets whether weather is enabled in this world.
|
|
*
|
|
* @return True if weather events will occur, false if not.
|
|
*/
|
|
public boolean getAllowWeather() {
|
|
return worldConfig.getAllowWeather();
|
|
}
|
|
|
|
/**
|
|
* Sets whether or not there will be weather events in a given world.
|
|
* If set to false, Multiverse will disable the weather in the world immediately.
|
|
*
|
|
* @param allowWeather True if weather events should occur in a world, false if not.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setAllowWeather(boolean allowWeather) {
|
|
return worldConfig.setAllowWeather(allowWeather);
|
|
}
|
|
|
|
/**
|
|
* Gets whether or not a world will auto-heal players if the difficulty is on peaceful.
|
|
*
|
|
* @return True if the world should heal (default), false if not.
|
|
*/
|
|
public boolean getAutoHeal() {
|
|
return worldConfig.getAutoHeal();
|
|
}
|
|
|
|
/**
|
|
* Sets whether or not a world will auto-heal players if the difficulty is on peaceful.
|
|
*
|
|
* @param autoHeal True if the world will heal.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setAutoHeal(boolean autoHeal) {
|
|
return worldConfig.setAutoHeal(autoHeal);
|
|
}
|
|
|
|
/**
|
|
* Gets whether or not Multiverse should auto-load this world.
|
|
*
|
|
* @return True if Multiverse should auto-load this world.
|
|
*/
|
|
public boolean getAutoLoad() {
|
|
return worldConfig.getAutoLoad();
|
|
}
|
|
|
|
/**
|
|
* Sets whether or not Multiverse should auto-load this world.
|
|
* <br/>
|
|
* True is default.
|
|
*
|
|
* @param autoLoad True if multiverse should autoload this world the spawn, false if not.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setAutoLoad(boolean autoLoad) {
|
|
return worldConfig.setAutoLoad(autoLoad);
|
|
}
|
|
|
|
/**
|
|
* Gets whether or not a player who dies in this world will respawn in their
|
|
* bed or follow the normal respawn pattern.
|
|
*
|
|
* @return True if players dying in this world should respawn at their bed.
|
|
*/
|
|
public boolean getBedRespawn() {
|
|
return worldConfig.getBedRespawn();
|
|
}
|
|
|
|
/**
|
|
* Sets whether or not a player who dies in this world will respawn in their
|
|
* bed or follow the normal respawn pattern.
|
|
* <br/>
|
|
* True is default.
|
|
*
|
|
* @param bedRespawn True if players dying in this world respawn at their bed.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setBedRespawn(boolean bedRespawn) {
|
|
return worldConfig.setBedRespawn(bedRespawn);
|
|
}
|
|
|
|
/**
|
|
* Gets the type of currency that will be used when users enter this world. A value of null indicates a non-item
|
|
* based currency is used.
|
|
*
|
|
* @return The type of currency that will be used when users enter this world.
|
|
*/
|
|
public Material getCurrency() {
|
|
return worldConfig.getEntryFeeCurrency();
|
|
}
|
|
|
|
/**
|
|
* Sets the type of item that will be required given the price is not 0.
|
|
* Use a value of null to specify a non-item based currency.
|
|
*
|
|
* @param currency The Type of currency that will be used when users enter this world.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setCurrency(Material currency) {
|
|
return worldConfig.setEntryFeeCurrency(currency);
|
|
}
|
|
|
|
/**
|
|
* Gets the difficulty of this world.
|
|
*
|
|
* @return The difficulty of this world.
|
|
*/
|
|
public Difficulty getDifficulty() {
|
|
return worldConfig.getDifficulty();
|
|
}
|
|
|
|
/**
|
|
* Sets the difficulty of this world and returns {@code true} on success.
|
|
* Valid string values are either an integer of difficulty(0-3) or
|
|
* the name that resides in the Bukkit enum, ex. PEACEFUL
|
|
*
|
|
* @param difficulty The new difficulty.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setDifficulty(Difficulty difficulty) {
|
|
return worldConfig.setDifficulty(difficulty);
|
|
}
|
|
|
|
/**
|
|
* Gets the environment of this world. You cannot change this after world creation.
|
|
*
|
|
* @return A {@link World.Environment}.
|
|
*/
|
|
public World.Environment getEnvironment() {
|
|
return worldConfig.getEnvironment();
|
|
}
|
|
|
|
/**
|
|
* Gets the GameMode of this world.
|
|
*
|
|
* @return The GameMode of this world.
|
|
*/
|
|
public GameMode getGameMode() {
|
|
return worldConfig.getGameMode();
|
|
}
|
|
|
|
/**
|
|
* Sets the game mode of this world.
|
|
*
|
|
* @param gameMode The new {@link GameMode}.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setGameMode(GameMode gameMode) {
|
|
return worldConfig.setGameMode(gameMode);
|
|
}
|
|
|
|
/**
|
|
* Gets the generator string of this world. You cannot change this after world creation.
|
|
*
|
|
* @return The name of the generator.
|
|
*/
|
|
public String getGenerator() {
|
|
return worldConfig.getGenerator();
|
|
}
|
|
|
|
/**
|
|
* Gets whether or not this world will display in chat, mvw and mvl regardless if a user has the
|
|
* access permissions to go to this world.
|
|
*
|
|
* @return True if the world will be hidden, false if not.
|
|
*/
|
|
public boolean isHidden() {
|
|
return worldConfig.isHidden();
|
|
}
|
|
|
|
/**
|
|
* Sets whether or not this world will display in chat, mvw and mvl regardless if a user has the
|
|
* access permissions to go to this world.
|
|
*
|
|
* @param hidden True if the world should be hidden, false if not.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setHidden(boolean hidden) {
|
|
return worldConfig.setHidden(hidden);
|
|
}
|
|
|
|
/**
|
|
* Gets whether or not the hunger level of players will go down in a world.
|
|
*
|
|
* @return True if it will go down, false if it will remain steady.
|
|
*/
|
|
public boolean getHunger() {
|
|
return worldConfig.getHunger();
|
|
}
|
|
|
|
/**
|
|
* Sets whether or not the hunger level of players will go down in a world.
|
|
*
|
|
* @param hunger True if hunger will go down, false to keep it at the level they entered a world with.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setHunger(boolean hunger) {
|
|
return worldConfig.setHunger(hunger);
|
|
}
|
|
|
|
/**
|
|
* Gets whether or not CraftBukkit is keeping the chunks for this world in memory.
|
|
*
|
|
* @return True if CraftBukkit is keeping spawn chunks in memory.
|
|
*/
|
|
public boolean getKeepSpawnInMemory() {
|
|
return worldConfig.getKeepSpawnInMemory();
|
|
}
|
|
|
|
/**
|
|
* If true, tells Craftbukkit to keep a worlds spawn chunks loaded in memory (default: true)
|
|
* If not, CraftBukkit will attempt to free memory when players have not used that world.
|
|
* This will not happen immediately.
|
|
*
|
|
* @param keepSpawnInMemory If true, CraftBukkit will keep the spawn chunks loaded in memory.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setKeepSpawnInMemory(boolean keepSpawnInMemory) {
|
|
return worldConfig.setKeepSpawnInMemory(keepSpawnInMemory);
|
|
}
|
|
|
|
/**
|
|
* Gets the player limit for this world after which players without an override
|
|
* permission node will not be allowed in. A value of -1 or less signifies no limit
|
|
*
|
|
* @return The player limit
|
|
*/
|
|
public int getPlayerLimit() {
|
|
return worldConfig.getPlayerLimit();
|
|
}
|
|
|
|
/**
|
|
* Sets the player limit for this world after which players without an override
|
|
* permission node will not be allowed in. A value of -1 or less signifies no limit
|
|
*
|
|
* @param playerLimit The new limit
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setPlayerLimit(int playerLimit) {
|
|
return worldConfig.setPlayerLimit(playerLimit);
|
|
}
|
|
|
|
/**
|
|
* Gets which type(s) of portals are allowed to be constructed in this world.
|
|
*
|
|
* @return The type of portals that are allowed.
|
|
*/
|
|
public AllowedPortalType getPortalForm() {
|
|
return worldConfig.getPortalForm();
|
|
}
|
|
|
|
/**
|
|
* Sets The types of portals that are allowed in this world.
|
|
*
|
|
* @param portalForm The type of portals allowed in this world.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setPortalForm(AllowedPortalType portalForm) {
|
|
return worldConfig.setPortalForm(portalForm);
|
|
}
|
|
|
|
/**
|
|
* Gets the amount of currency it requires to enter this world.
|
|
*
|
|
* @return The amount it costs to enter this world.
|
|
*/
|
|
public double getPrice() {
|
|
return worldConfig.getEntryFeeAmount();
|
|
}
|
|
|
|
/**
|
|
* Sets the price for entry to this world.
|
|
* You can think of this like an amount.
|
|
* The type can be set with {@link #setCurrency(Material)}
|
|
*
|
|
* @param price The Amount of money/item to enter the world.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setPrice(double price) {
|
|
return worldConfig.setEntryFeeAmount(price);
|
|
}
|
|
|
|
/**
|
|
* Gets whether or not PVP is enabled in this world in some form (fake or not).
|
|
*
|
|
* @return True if players can take damage from other players.
|
|
*/
|
|
public boolean getPvp() {
|
|
return worldConfig.getPvp();
|
|
}
|
|
|
|
/**
|
|
* Turn pvp on or off. This setting is used to set the world's PVP mode.
|
|
*
|
|
* @param pvp True to enable PVP damage, false to disable it.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setPvp(boolean pvp) {
|
|
return worldConfig.setPvp(pvp);
|
|
}
|
|
|
|
/**
|
|
* Gets the world name players will respawn in if they die in this one.
|
|
*
|
|
* @return A world name that exists on the server.
|
|
*/
|
|
public String getRespawnWorldName() {
|
|
return worldConfig.getRespawnWorld();
|
|
}
|
|
|
|
/**
|
|
* Gets the world players will respawn in if they die in this one.
|
|
*
|
|
* @return A world that exists on the server.
|
|
*/
|
|
public @Nullable Option<World> getRespawnWorld() {
|
|
return Option.of(Bukkit.getWorld(worldConfig.getRespawnWorld()));
|
|
}
|
|
|
|
/**
|
|
* Sets the world players will respawn in if they die in this one.
|
|
* Returns true upon success, false upon failure.
|
|
*
|
|
* @param respawnWorld The name of a world that exists on the server.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setRespawnWorld(World respawnWorld) {
|
|
return worldConfig.setRespawnWorld(respawnWorld.getName());
|
|
}
|
|
|
|
/**
|
|
* Sets the world players will respawn in if they die in this one.
|
|
* Returns true upon success, false upon failure.
|
|
*
|
|
* @param respawnWorld The name of a world that exists on the server.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setRespawnWorld(MultiverseWorld respawnWorld) {
|
|
return worldConfig.setRespawnWorld(respawnWorld.getName());
|
|
}
|
|
|
|
/**
|
|
* Sets the world players will respawn in if they die in this one.
|
|
* Returns true upon success, false upon failure.
|
|
*
|
|
* @param respawnWorld The name of a world that exists on the server.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setRespawnWorld(String respawnWorld) {
|
|
return worldConfig.setRespawnWorld(respawnWorld);
|
|
}
|
|
|
|
/**
|
|
* Gets the scaling value of this world.Really only has an effect if you use
|
|
* Multiverse-NetherPortals.
|
|
*
|
|
* @return This world's non-negative, non-zero scale.
|
|
*/
|
|
public double getScale() {
|
|
return worldConfig.getScale();
|
|
}
|
|
|
|
//TODO: we are removing mvnp
|
|
/**
|
|
* Sets the scale of this world. Really only has an effect if you use
|
|
* Multiverse-NetherPortals.
|
|
*
|
|
* @param scale A scaling value, cannot be negative or 0.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setScale(double scale) {
|
|
return worldConfig.setScale(scale);
|
|
}
|
|
|
|
/**
|
|
* Gets the world seed of this world. This cannot be changed after world creation.
|
|
*
|
|
* @return The Long version of the seed.
|
|
*/
|
|
public long getSeed() {
|
|
return worldConfig.getSeed();
|
|
}
|
|
|
|
/**
|
|
* Gets the spawn location of this world.
|
|
*
|
|
* @return The spawn location of this world.
|
|
*/
|
|
public Location getSpawnLocation() {
|
|
return worldConfig.getSpawnLocation();
|
|
}
|
|
|
|
/**
|
|
* Sets the spawn location for a world.
|
|
*
|
|
* @param spawnLocation The spawn location for a world.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setSpawnLocation(Location spawnLocation) {
|
|
return worldConfig.setSpawnLocation(spawnLocation);
|
|
}
|
|
|
|
/**
|
|
* Gets whether or not animals are allowed to spawn in this world.
|
|
*
|
|
* @return True if ANY animal can, false if no animals can spawn.
|
|
*/
|
|
public boolean getSpawningAnimals() {
|
|
return worldConfig.getSpawningAnimals();
|
|
}
|
|
|
|
/**
|
|
* Sets whether or not animals can spawn.
|
|
* <br/>
|
|
* If there are values in {@link #getSpawningAnimalsExceptions()} and this is false,
|
|
* those animals become the exceptions, and will spawn
|
|
*
|
|
* @param spawningAnimals True to allow spawning of monsters, false to prevent.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setSpawningAnimals(boolean spawningAnimals) {
|
|
return worldConfig.setSpawningAnimals(spawningAnimals);
|
|
}
|
|
|
|
/**
|
|
* Gets the amount of ticks between animal spawns.
|
|
*
|
|
* @return The amount of ticks between animal spawns.
|
|
*/
|
|
public int getSpawningAnimalsTicks() {
|
|
return worldConfig.getSpawningAnimalsTicks();
|
|
}
|
|
|
|
/**
|
|
* Sets the amount of ticks between animal spawns. Set to -1 to use bukkit default.
|
|
*
|
|
* @param spawningAnimalsAmount The amount of ticks between animal spawns.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setSpawningAnimalsTicks(int spawningAnimalsAmount) {
|
|
return worldConfig.setSpawningAnimalsTicks(spawningAnimalsAmount);
|
|
}
|
|
|
|
/**
|
|
* Returns a list of animals. This list always negates the {@link #getSpawningAnimals()} result.
|
|
*
|
|
* @return A list of animals that will spawn if {@link #getSpawningAnimals()} is false.
|
|
*/
|
|
public List<String> getSpawningAnimalsExceptions() {
|
|
return worldConfig.getSpawningAnimalsExceptions();
|
|
}
|
|
|
|
/**
|
|
* Sets the list of animals that will spawn if {@link #getSpawningAnimals()} is false.
|
|
*
|
|
* @param spawningAnimalsExceptions The list of animals that will spawn if {@link #getSpawningAnimals()} is false.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setSpawningAnimalsExceptions(List<String> spawningAnimalsExceptions) {
|
|
return worldConfig.setSpawningAnimalsExceptions(spawningAnimalsExceptions);
|
|
}
|
|
|
|
/**
|
|
* Gets whether or not monsters are allowed to spawn in this world.
|
|
*
|
|
* @return True if ANY monster can, false if no monsters can spawn.
|
|
*/
|
|
public boolean getSpawningMonsters() {
|
|
return worldConfig.getSpawningMonsters();
|
|
}
|
|
|
|
/**
|
|
* Sets whether or not monsters can spawn.
|
|
* If there are values in {@link #getSpawningMonstersExceptions()} and this is false,
|
|
* those monsters become the exceptions, and will spawn
|
|
*
|
|
* @param spawningMonsters True to allow spawning of monsters, false to prevent.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setSpawningMonsters(boolean spawningMonsters) {
|
|
return worldConfig.setSpawningMonsters(spawningMonsters);
|
|
}
|
|
|
|
/**
|
|
* Gets the amount of ticks between monster spawns.
|
|
*
|
|
* @return The amount of ticks between monster spawns.
|
|
*/
|
|
public int getSpawningMonstersTicks() {
|
|
return worldConfig.getSpawningMonstersTicks();
|
|
}
|
|
|
|
/**
|
|
* Sets the amount of ticks between monster spawns. Set to -1 to use bukkit default.
|
|
*
|
|
* @param spawningMonstersAmount The amount of ticks between monster spawns.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setSpawningMonstersTicks(int spawningMonstersAmount) {
|
|
return worldConfig.setSpawningMonstersTicks(spawningMonstersAmount);
|
|
}
|
|
|
|
/**
|
|
* Returns a list of monsters. This list always negates the {@link #getSpawningMonsters()} result.
|
|
*
|
|
* @return A list of monsters that will spawn if {@link #getSpawningMonsters()} is false.
|
|
*/
|
|
public List<String> getSpawningMonstersExceptions() {
|
|
return worldConfig.getSpawningMonstersExceptions();
|
|
}
|
|
|
|
/**
|
|
* Sets the list of monsters that will spawn if {@link #getSpawningMonsters()} is false.
|
|
*
|
|
* @param spawningMonstersExceptions The list of monsters that will spawn if {@link #getSpawningMonsters()}
|
|
* is false.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setSpawningMonstersExceptions(List<String> spawningMonstersExceptions) {
|
|
return worldConfig.setSpawningMonstersExceptions(spawningMonstersExceptions);
|
|
}
|
|
|
|
/**
|
|
* Gets a list of all the worlds that players CANNOT travel to from this world,regardless of their access
|
|
* permissions.
|
|
*
|
|
* @return A List of world names.
|
|
*/
|
|
public List<String> getWorldBlacklist() {
|
|
return worldConfig.getWorldBlacklist();
|
|
}
|
|
|
|
/**
|
|
* Sets the list of worlds that players CANNOT travel to from this world, regardless of their access permissions.
|
|
*
|
|
* @param worldBlacklist A List of world names.
|
|
* @return Result of setting property.
|
|
*/
|
|
public Try<Void> setWorldBlacklist(List<String> worldBlacklist) {
|
|
return worldConfig.setWorldBlacklist(worldBlacklist);
|
|
}
|
|
|
|
/**
|
|
* Gets the world config. Only for internal use.
|
|
*
|
|
* @return The world config.
|
|
*/
|
|
WorldConfig getWorldConfig() {
|
|
return worldConfig;
|
|
}
|
|
|
|
/**
|
|
* Sets the world config. Only for internal use.
|
|
*
|
|
* @param worldConfig The world config.
|
|
*/
|
|
void setWorldConfig(WorldConfig worldConfig) {
|
|
this.worldConfig = worldConfig;
|
|
}
|
|
|
|
/**
|
|
* {@inheritDoc}
|
|
*/
|
|
@Override
|
|
public String toString() {
|
|
return "MultiverseWorld{"
|
|
+ "name='" + worldName + "', "
|
|
+ "env='" + getEnvironment() + "', "
|
|
+ "gen='" + getGenerator() + "'"
|
|
+ '}';
|
|
}
|
|
}
|