mirror of
https://github.com/Multiverse/Multiverse-Core.git
synced 2024-11-22 10:36:06 +01:00
Added almost all of the world properties.
This commit is contained in:
parent
841cd14098
commit
8cdb221695
@ -30,12 +30,13 @@ abstract class AbstractMultiverseWorld implements MultiverseWorld {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Difficulty getDifficulty() {
|
public Difficulty getDifficulty() {
|
||||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
return getProperties().get(WorldProperties.DIFFICULTY);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean setDifficulty(Difficulty difficulty) {
|
public boolean setDifficulty(final Difficulty difficulty) {
|
||||||
return false; //To change body of implemented methods use File | Settings | File Templates.
|
// TODO Validate?
|
||||||
|
return getProperties().set(WorldProperties.DIFFICULTY, difficulty);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -78,31 +79,6 @@ abstract class AbstractMultiverseWorld implements MultiverseWorld {
|
|||||||
getProperties().set(WorldProperties.ALIAS, alias != null ? alias : "");
|
getProperties().set(WorldProperties.ALIAS, alias != null ? alias : "");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getColor() {
|
|
||||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean setColor(String color) {
|
|
||||||
return false; //To change body of implemented methods use File | Settings | File Templates.
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getStyle() {
|
|
||||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean setStyle(String style) {
|
|
||||||
return false; //To change body of implemented methods use File | Settings | File Templates.
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getColoredWorldString() {
|
|
||||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canAnimalsSpawn() {
|
public boolean canAnimalsSpawn() {
|
||||||
return false; //To change body of implemented methods use File | Settings | File Templates.
|
return false; //To change body of implemented methods use File | Settings | File Templates.
|
||||||
@ -135,12 +111,12 @@ abstract class AbstractMultiverseWorld implements MultiverseWorld {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isPVPEnabled() {
|
public boolean isPVPEnabled() {
|
||||||
return false; //To change body of implemented methods use File | Settings | File Templates.
|
return getProperties().get(WorldProperties.PVP);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setPVPMode(boolean pvpMode) {
|
public void setPVPMode(final boolean pvpMode) {
|
||||||
//To change body of implemented methods use File | Settings | File Templates.
|
getProperties().set(WorldProperties.PVP, pvpMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -154,33 +130,43 @@ abstract class AbstractMultiverseWorld implements MultiverseWorld {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isWeatherEnabled() {
|
public boolean getPrefixChat() {
|
||||||
return false; //To change body of implemented methods use File | Settings | File Templates.
|
return getProperties().get(WorldProperties.PREFIX_CHAT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setEnableWeather(boolean enableWeather) {
|
public void setPrefixChat(final boolean prefixChat) {
|
||||||
//To change body of implemented methods use File | Settings | File Templates.
|
getProperties().set(WorldProperties.PREFIX_CHAT, prefixChat);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isWeatherEnabled() {
|
||||||
|
return getProperties().get(WorldProperties.ALLOW_WEATHER);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setEnableWeather(final boolean enableWeather) {
|
||||||
|
getProperties().set(WorldProperties.ALLOW_WEATHER, enableWeather);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isKeepingSpawnInMemory() {
|
public boolean isKeepingSpawnInMemory() {
|
||||||
return false; //To change body of implemented methods use File | Settings | File Templates.
|
return getProperties().get(WorldProperties.KEEP_SPAWN);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setKeepSpawnInMemory(boolean keepSpawnInMemory) {
|
public void setKeepSpawnInMemory(final boolean keepSpawnInMemory) {
|
||||||
//To change body of implemented methods use File | Settings | File Templates.
|
getProperties().set(WorldProperties.KEEP_SPAWN, keepSpawnInMemory);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PlayerPosition getSpawnLocation() {
|
public PlayerPosition getSpawnLocation() {
|
||||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
return getProperties().get(WorldProperties.SPAWN_LOCATION);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setSpawnLocation(PlayerPosition spawnLocation) {
|
public void setSpawnLocation(final PlayerPosition spawnLocation) {
|
||||||
//To change body of implemented methods use File | Settings | File Templates.
|
getProperties().set(WorldProperties.SPAWN_LOCATION, spawnLocation);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -195,62 +181,65 @@ abstract class AbstractMultiverseWorld implements MultiverseWorld {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GameMode getGameMode() {
|
public GameMode getGameMode() {
|
||||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
return getProperties().get(WorldProperties.GAME_MODE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean setGameMode(GameMode gameMode) {
|
public boolean setGameMode(final GameMode gameMode) {
|
||||||
return false; //To change body of implemented methods use File | Settings | File Templates.
|
// Todo validate?
|
||||||
|
return getProperties().set(WorldProperties.GAME_MODE, gameMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public double getPrice() {
|
public double getPrice() {
|
||||||
return 0; //To change body of implemented methods use File | Settings | File Templates.
|
return getProperties().get(WorldProperties.ENTRY_FEE).get(WorldProperties.EntryFee.AMOUNT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setPrice(double price) {
|
public void setPrice(final double price) {
|
||||||
//To change body of implemented methods use File | Settings | File Templates.
|
getProperties().get(WorldProperties.ENTRY_FEE).set(WorldProperties.EntryFee.AMOUNT, price);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getCurrency() {
|
public int getCurrency() {
|
||||||
return 0; //To change body of implemented methods use File | Settings | File Templates.
|
return getProperties().get(WorldProperties.ENTRY_FEE).get(WorldProperties.EntryFee.CURRENCY);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setCurrency(int item) {
|
public void setCurrency(final int item) {
|
||||||
//To change body of implemented methods use File | Settings | File Templates.
|
getProperties().get(WorldProperties.ENTRY_FEE).set(WorldProperties.EntryFee.CURRENCY, item);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getRespawnToWorld() {
|
public String getRespawnToWorld() {
|
||||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
return getProperties().get(WorldProperties.RESPAWN_WORLD);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean setRespawnToWorld(String respawnWorld) {
|
public boolean setRespawnToWorld(final String respawnWorld) {
|
||||||
return false; //To change body of implemented methods use File | Settings | File Templates.
|
// TODO validation?
|
||||||
|
return getProperties().set(WorldProperties.RESPAWN_WORLD, respawnWorld);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public double getScaling() {
|
public double getScaling() {
|
||||||
return 0; //To change body of implemented methods use File | Settings | File Templates.
|
return getProperties().get(WorldProperties.SCALE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean setScaling(double scaling) {
|
public boolean setScaling(final double scaling) {
|
||||||
return false; //To change body of implemented methods use File | Settings | File Templates.
|
// TODO validation?
|
||||||
|
return getProperties().set(WorldProperties.SCALE, scaling);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean getAutoHeal() {
|
public boolean getAutoHeal() {
|
||||||
return false; //To change body of implemented methods use File | Settings | File Templates.
|
return getProperties().get(WorldProperties.AUTO_HEAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setAutoHeal(boolean heal) {
|
public void setAutoHeal(final boolean heal) {
|
||||||
//To change body of implemented methods use File | Settings | File Templates.
|
getProperties().set(WorldProperties.AUTO_HEAL, heal);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -294,23 +283,13 @@ abstract class AbstractMultiverseWorld implements MultiverseWorld {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTime() {
|
public void allowPortalMaking(final PortalType type) {
|
||||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
getProperties().set(WorldProperties.PORTAL_FORM, type);
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean setTime(String timeAsString) {
|
|
||||||
return false; //To change body of implemented methods use File | Settings | File Templates.
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void allowPortalMaking(PortalType type) {
|
|
||||||
//To change body of implemented methods use File | Settings | File Templates.
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PortalType getAllowedPortals() {
|
public PortalType getAllowedPortals() {
|
||||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
return getProperties().get(WorldProperties.PORTAL_FORM);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -148,43 +148,6 @@ public interface MultiverseWorld {
|
|||||||
*/
|
*/
|
||||||
void setAlias(String alias);
|
void setAlias(String alias);
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the color that this world's name/alias will display as.
|
|
||||||
*
|
|
||||||
* @return The color of this world.
|
|
||||||
*/
|
|
||||||
String getColor();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the color that this world's name/alias will display as.
|
|
||||||
*
|
|
||||||
* @param color A valid color name.
|
|
||||||
* @return True if the color was set, false if not.
|
|
||||||
*/
|
|
||||||
boolean setColor(String color);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the style that this world's name/alias will display as.
|
|
||||||
*
|
|
||||||
* @return The style of this world. {@code null} for "normal" style.
|
|
||||||
*/
|
|
||||||
String getStyle();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the style that this world's name/alias will display as.
|
|
||||||
*
|
|
||||||
* @param style A valid style name.
|
|
||||||
* @return True if the style was set, false if not.
|
|
||||||
*/
|
|
||||||
boolean setStyle(String style);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a very nicely colored string (using Alias and Color if they are set).
|
|
||||||
*
|
|
||||||
* @return A nicely colored string.
|
|
||||||
*/
|
|
||||||
String getColoredWorldString();
|
|
||||||
|
|
||||||
// animals&monster stuff
|
// animals&monster stuff
|
||||||
/**
|
/**
|
||||||
* Gets whether or not animals are allowed to spawn in this world.
|
* Gets whether or not animals are allowed to spawn in this world.
|
||||||
@ -248,21 +211,40 @@ public interface MultiverseWorld {
|
|||||||
void setPVPMode(boolean pvpMode);
|
void setPVPMode(boolean pvpMode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets whether or not this world will display in chat, mvw and mvl regardless if a user has the
|
* Gets whether or not this world will display in mv who and mv list regardless if a user has the
|
||||||
* access permissions to go to this world.
|
* access permissions to go to this world.
|
||||||
*
|
*
|
||||||
* @return True if the world will be hidden, false if not.
|
* @return True if the world will be hidden, false if not.
|
||||||
|
* @see {@link #getPrefixChat()}
|
||||||
*/
|
*/
|
||||||
boolean isHidden();
|
boolean isHidden();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets whether or not this world will display in chat, mvw and mvl regardless if a user has the
|
* Sets whether or not this world will display in mv who and mv list regardless if a user has the
|
||||||
* access permissions to go to this world.
|
* access permissions to go to this world.
|
||||||
*
|
*
|
||||||
* @param hidden Set
|
* @param hidden Set
|
||||||
*/
|
*/
|
||||||
void setHidden(boolean hidden);
|
void setHidden(boolean hidden);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets whether or not this world will display it's name/alias as a prefix in chat.
|
||||||
|
*
|
||||||
|
* If the global configuration setting for prefixChat is false, this setting has no effect.
|
||||||
|
*
|
||||||
|
* @return True if the world name/alias will be used as a prefix in chat, false if not.
|
||||||
|
*/
|
||||||
|
boolean getPrefixChat();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets whether or not this world will display it's name/alias as a prefix in chat.
|
||||||
|
*
|
||||||
|
* If the global configuration setting for prefixChat is false, this setting has no effect.
|
||||||
|
*
|
||||||
|
* @param prefixChat True if the world name/alias will be used as a prefix in chat, false if not.
|
||||||
|
*/
|
||||||
|
void setPrefixChat(boolean prefixChat);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets whether weather is enabled in this world.
|
* Gets whether weather is enabled in this world.
|
||||||
*
|
*
|
||||||
|
@ -2,9 +2,15 @@ package com.mvplugin.core.api;
|
|||||||
|
|
||||||
import com.dumptruckman.minecraft.pluginbase.messaging.Message;
|
import com.dumptruckman.minecraft.pluginbase.messaging.Message;
|
||||||
import com.dumptruckman.minecraft.pluginbase.properties.ListProperty;
|
import com.dumptruckman.minecraft.pluginbase.properties.ListProperty;
|
||||||
|
import com.dumptruckman.minecraft.pluginbase.properties.NestedProperties;
|
||||||
|
import com.dumptruckman.minecraft.pluginbase.properties.NestedProperty;
|
||||||
import com.dumptruckman.minecraft.pluginbase.properties.Properties;
|
import com.dumptruckman.minecraft.pluginbase.properties.Properties;
|
||||||
import com.dumptruckman.minecraft.pluginbase.properties.PropertyFactory;
|
import com.dumptruckman.minecraft.pluginbase.properties.PropertyFactory;
|
||||||
import com.dumptruckman.minecraft.pluginbase.properties.SimpleProperty;
|
import com.dumptruckman.minecraft.pluginbase.properties.SimpleProperty;
|
||||||
|
import com.mvplugin.core.minecraft.Difficulty;
|
||||||
|
import com.mvplugin.core.minecraft.GameMode;
|
||||||
|
import com.mvplugin.core.minecraft.PlayerPosition;
|
||||||
|
import com.mvplugin.core.minecraft.PortalType;
|
||||||
import com.mvplugin.core.minecraft.WorldEnvironment;
|
import com.mvplugin.core.minecraft.WorldEnvironment;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -15,6 +21,7 @@ public interface WorldProperties extends Properties {
|
|||||||
SimpleProperty<String> ALIAS = PropertyFactory.newProperty(String.class, "alias", "")
|
SimpleProperty<String> ALIAS = PropertyFactory.newProperty(String.class, "alias", "")
|
||||||
.comment("World aliases allow you to name a world differently than what the folder name is.")
|
.comment("World aliases allow you to name a world differently than what the folder name is.")
|
||||||
.comment("This lets you choose fancy names for your worlds while keeping the folders nice and neat.")
|
.comment("This lets you choose fancy names for your worlds while keeping the folders nice and neat.")
|
||||||
|
.comment("You may add minecraft color and formatting codes here prepended with a &")
|
||||||
.description(Descriptions.ALIAS)
|
.description(Descriptions.ALIAS)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
@ -57,33 +64,118 @@ public interface WorldProperties extends Properties {
|
|||||||
|
|
||||||
|
|
||||||
SimpleProperty<Boolean> AUTO_LOAD = PropertyFactory.newProperty(Boolean.class, "autoLoad", true)
|
SimpleProperty<Boolean> AUTO_LOAD = PropertyFactory.newProperty(Boolean.class, "autoLoad", true)
|
||||||
.comment("This property dictates whether this world is loaded automatically on startup or not.")
|
.comment("The autoLoad dictates whether this world is loaded automatically on startup or not.")
|
||||||
.description(Descriptions.AUTO_LOAD)
|
.description(Descriptions.AUTO_LOAD)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
SimpleProperty<Boolean> BED_RESPAWN = PropertyFactory.newProperty(Boolean.class, "bedRespawn", true)
|
SimpleProperty<Boolean> BED_RESPAWN = PropertyFactory.newProperty(Boolean.class, "bedRespawn", true)
|
||||||
.comment("This property specifies if a player dying in this world should respawn in their bed or not.")
|
.comment("The bedRespawn property specifies if a player dying in this world should respawn in their bed or not.")
|
||||||
.description(Descriptions.BED_RESPAWN)
|
.description(Descriptions.BED_RESPAWN)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
SimpleProperty<Boolean> HUNGER = PropertyFactory.newProperty(Boolean.class, "hunger", true)
|
SimpleProperty<Boolean> HUNGER = PropertyFactory.newProperty(Boolean.class, "hunger", true)
|
||||||
.comment("This property specifies if hunger is depleted in this world")
|
.comment("The hunger property specifies if hunger is depleted in this world")
|
||||||
.description(Descriptions.HUNGER)
|
.description(Descriptions.HUNGER)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
ListProperty<String> BLACK_LIST = PropertyFactory.newListProperty(String.class, "worldBlacklist")
|
ListProperty<String> BLACK_LIST = PropertyFactory.newListProperty(String.class, "worldBlacklist")
|
||||||
.comment("This property allows you to specify worlds that people cannot go to from this specified world.")
|
.comment("The worldBlackList property allows you to specify worlds that people cannot go to from this specified world.")
|
||||||
.description(Descriptions.BLACK_LIST)
|
.description(Descriptions.BLACK_LIST)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
SimpleProperty<Boolean> PVP = PropertyFactory.newProperty(Boolean.class, "pvp", true)
|
||||||
|
.comment("The pvp property states whether or not players may harm each other in this world. If set to true, they may.")
|
||||||
|
.comment("Bear in mind, many other plugins may have conflicts with this setting.")
|
||||||
|
.description(Descriptions.PVP)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
SimpleProperty<Double> SCALE = PropertyFactory.newProperty(Double.class, "scale", 1D)
|
||||||
|
.comment("The scale property represents the scaling of worlds when using Multiverse-NetherPortals.")
|
||||||
|
.comment("Setting this value will have no effect on anything but Multiverse-NetherPortals.")
|
||||||
|
.description(Descriptions.SCALE)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
SimpleProperty<String> RESPAWN_WORLD = PropertyFactory.newProperty(String.class, "respawnWorld", "")
|
||||||
|
.comment("The respawnWorld property is the world you will respawn to if you die in this world.")
|
||||||
|
.comment("This value can be the same as this world.")
|
||||||
|
.description(Descriptions.RESPAWN_WORLD)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
SimpleProperty<Boolean> ALLOW_WEATHER = PropertyFactory.newProperty(Boolean.class, "allowWeather", true)
|
||||||
|
.comment("The allowWeather property specifies whether or not to allow weather events in this world.")
|
||||||
|
.description(Descriptions.ALLOW_WEATHER)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
SimpleProperty<Difficulty> DIFFICULTY = PropertyFactory.newProperty(Difficulty.class, "difficulty", Difficulty.EASY)
|
||||||
|
.comment("The difficulty property allows you to set the difficulty for the world.")
|
||||||
|
.comment("World difficulty affects spawn rates, hunger rates, and other things that make the game more or less difficult.")
|
||||||
|
.description(Descriptions.DIFFICULTY)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
SimpleProperty<Boolean> AUTO_HEAL = PropertyFactory.newProperty(Boolean.class, "autoHeal", true)
|
||||||
|
.comment("The autoHeal property will specify whether ot not players will regain health in PEACEFUL difficulty only.")
|
||||||
|
.comment("This setting has no effect on worlds with a difficulty greater than peaceful or 0.")
|
||||||
|
.description(Descriptions.AUTO_HEAL)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
SimpleProperty<PortalType> PORTAL_FORM = PropertyFactory.newProperty(PortalType.class, "portalForm", PortalType.ALL)
|
||||||
|
.comment("The portalFrom property allows you to specify which type of portals are allowed to be created in this world.")
|
||||||
|
.description(Descriptions.PORTAL_FORM)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
SimpleProperty<GameMode> GAME_MODE = PropertyFactory.newProperty(GameMode.class, "gameMode", GameMode.SURVIVAL)
|
||||||
|
.comment("The gameMode property allows you to specify the GameMode for this world.")
|
||||||
|
.comment("Players entering this world will automatically be switched to this GameMode unless they are exempted.")
|
||||||
|
.description(Descriptions.GAME_MODE)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
SimpleProperty<Boolean> KEEP_SPAWN = PropertyFactory.newProperty(Boolean.class, "keepSpawnInMemory", true)
|
||||||
|
.comment("The keepSpawnInMemory property specifies whether or not to keep the spawn chunks loaded in memory when players aren't in the spawn area.")
|
||||||
|
.comment("Setting this to false will potentially save you some memory.")
|
||||||
|
.description(Descriptions.KEEP_SPAWN)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
SimpleProperty<PlayerPosition> SPAWN_LOCATION = PropertyFactory.newProperty(PlayerPosition.class, "spawnLocation", new NullLocation())
|
||||||
|
.comment("The spawnLocation property specifies where in the world players will spawn.")
|
||||||
|
.comment("The world specified here has no effect.")
|
||||||
|
.description(Descriptions.SPAWN_LOCATION)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
public static final class NullLocation extends PlayerPosition {
|
||||||
|
public NullLocation() {
|
||||||
|
super(null, 0, 0, 0, 0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
NestedProperty<EntryFee> ENTRY_FEE = PropertyFactory.newNestedProperty(EntryFee.class, "entryFee")
|
||||||
|
.build();
|
||||||
|
|
||||||
|
public static interface EntryFee extends NestedProperties {
|
||||||
|
|
||||||
|
SimpleProperty<Double> AMOUNT = PropertyFactory.newProperty(Double.class, "amount", 0D)
|
||||||
|
.comment("The amount property specifies how much a player has to pay to enter this world.")
|
||||||
|
.comment("What the player has to pay is specified by the 'currency' property")
|
||||||
|
.description(Descriptions.AMOUNT)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
SimpleProperty<Integer> CURRENCY = PropertyFactory.newProperty(Integer.class, "currency", -1)
|
||||||
|
.comment("The currency property specifies what type of currency the player must pay (if any) to enter this world.")
|
||||||
|
.comment("Currency can be an economy money by specifying -1 or a block type by specifying the block id.")
|
||||||
|
.description(Descriptions.CURRENCY)
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Houses localized (english) descriptions of the Multiverse world properties.
|
* Houses localized (english) descriptions of the Multiverse world properties.
|
||||||
*/
|
*/
|
||||||
public static class Descriptions {
|
public static class Descriptions {
|
||||||
|
|
||||||
|
public static void init() { }
|
||||||
|
|
||||||
public static final Message ALIAS = new Message("world_properties.descriptions.alias",
|
public static final Message ALIAS = new Message("world_properties.descriptions.alias",
|
||||||
"World aliases allow you to name a world differently than what the folder name is.",
|
"World aliases allow you to name a world differently than what the folder name is.",
|
||||||
"This lets you choose fancy names for your worlds while keeping the folders nice and neat.");
|
"This lets you choose fancy names for your worlds while keeping the folders nice and neat.",
|
||||||
|
"You may add minecraft color and formatting codes here prepended with a &");
|
||||||
|
|
||||||
public static final Message HIDDEN = new Message("world_properties.descriptions.hidden",
|
public static final Message HIDDEN = new Message("world_properties.descriptions.hidden",
|
||||||
"The hidden property allows you to have a world that exists but does not show up in lists.");
|
"The hidden property allows you to have a world that exists but does not show up in lists.");
|
||||||
@ -108,16 +200,59 @@ public interface WorldProperties extends Properties {
|
|||||||
"The adjust spawn property determines whether or not Multiverse will make adjustments to the world's spawn location if it is unsafe.");
|
"The adjust spawn property determines whether or not Multiverse will make adjustments to the world's spawn location if it is unsafe.");
|
||||||
|
|
||||||
public static final Message AUTO_LOAD = new Message("world_properties.descriptions.autoLoad",
|
public static final Message AUTO_LOAD = new Message("world_properties.descriptions.autoLoad",
|
||||||
"This value dictates whether this world is loaded automatically on startup or not.");
|
"The autoLoad property dictates whether this world is loaded automatically on startup or not.");
|
||||||
|
|
||||||
public static final Message BED_RESPAWN = new Message("world_properties.descriptions.bedRespawn",
|
public static final Message BED_RESPAWN = new Message("world_properties.descriptions.bedRespawn",
|
||||||
"This property specifies if a player dying in this world should respawn in their bed or not.");
|
"The bedRespawn property specifies if a player dying in this world should respawn in their bed or not.");
|
||||||
|
|
||||||
public static final Message HUNGER = new Message("world_properties.descriptions.hunger",
|
public static final Message HUNGER = new Message("world_properties.descriptions.hunger",
|
||||||
"This property specifies if hunger is depleted in this world");
|
"The hunger property specifies if hunger is depleted in this world");
|
||||||
|
|
||||||
public static final Message BLACK_LIST = new Message("world_properties.descriptions.worldBlacklist",
|
public static final Message BLACK_LIST = new Message("world_properties.descriptions.worldBlacklist",
|
||||||
"This property allows you to specify worlds that people cannot go to from this specified world.");
|
"The worldBlackList property allows you to specify worlds that people cannot go to from this specified world.");
|
||||||
|
|
||||||
|
public static final Message PVP = new Message("world_properties.descriptions.pvp",
|
||||||
|
"The pvp property states whether or not players may harm each other in this world. If set to true, they may.");
|
||||||
|
|
||||||
|
public static final Message SCALE = new Message("world_properties.descriptions.scale",
|
||||||
|
"The scale property represents the scaling of worlds when using Multiverse-NetherPortals.",
|
||||||
|
"Setting this value will have no effect on anything but Multiverse-NetherPortals.");
|
||||||
|
|
||||||
|
public static final Message RESPAWN_WORLD = new Message("world_properties.descriptions.respawnWorld",
|
||||||
|
"The respawnWorld property is the world you will respawn to if you die in this world.",
|
||||||
|
"This value can be the same as this world.");
|
||||||
|
|
||||||
|
public static final Message ALLOW_WEATHER = new Message("world_properties.descriptions.allowWeather",
|
||||||
|
"The allowWeather property specifies whether or not to allow weather events in this world.");
|
||||||
|
|
||||||
|
public static final Message DIFFICULTY = new Message("world_properties.descriptions.difficulty",
|
||||||
|
"The difficulty property allows you to set the difficulty for the world.",
|
||||||
|
"World difficulty affects spawn rates, hunger rates, and other things that make the game more or less difficult.");
|
||||||
|
|
||||||
|
public static final Message AUTO_HEAL = new Message("world_properties.descriptions.autoHeal",
|
||||||
|
"The autoHeal property will specify whether ot not players will regain health in PEACEFUL difficulty only.",
|
||||||
|
"This setting has no effect on worlds with a difficulty greater than peaceful or 0.");
|
||||||
|
|
||||||
|
public static final Message PORTAL_FORM = new Message("world_properties.descriptions.portalForm",
|
||||||
|
"The portalFrom property allows you to specify which type of portals are allowed to be created in this world.");
|
||||||
|
|
||||||
|
public static final Message GAME_MODE = new Message("world_properties.descriptions.gameMode",
|
||||||
|
"The gameMode property allows you to specify the GameMode for this world.",
|
||||||
|
"Players entering this world will automatically be switched to this GameMode unless they are exempted.");
|
||||||
|
|
||||||
|
public static final Message KEEP_SPAWN = new Message("world_properties.descriptions.keepSpawnInMemory",
|
||||||
|
"The keepSpawnInMemory property specifies whether or not to keep the spawn chunks loaded in memory when players aren't in the spawn area.",
|
||||||
|
"Setting this to false will potentially save you some memory.");
|
||||||
|
|
||||||
|
public static final Message SPAWN_LOCATION = new Message("world_properties.descriptions.spawnLocation",
|
||||||
|
"The spawnLocation property specifies where in the world players will spawn.");
|
||||||
|
|
||||||
|
public static final Message AMOUNT = new Message("world_properties.descriptions.amount",
|
||||||
|
"The amount property specifies how much a player has to pay to enter this world.",
|
||||||
|
"What the player has to pay is specified by the 'currency' property");
|
||||||
|
|
||||||
|
public static final Message CURRENCY = new Message("world_properties.descriptions.currency",
|
||||||
|
"The currency property specifies what type of currency the player must pay (if any) to enter this world.",
|
||||||
|
"Currency can be an economy money by specifying -1 or a block type by specifying the block id.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ public class PlayerPosition {
|
|||||||
private final float pitch, yaw;
|
private final float pitch, yaw;
|
||||||
private final String world;
|
private final String world;
|
||||||
|
|
||||||
PlayerPosition(final String world, final double x,
|
protected PlayerPosition(final String world, final double x,
|
||||||
final double y, final double z,
|
final double y, final double z,
|
||||||
final float pitch, final float yaw) {
|
final float pitch, final float yaw) {
|
||||||
this.world = world;
|
this.world = world;
|
||||||
|
@ -3,6 +3,7 @@ package com.mvplugin.core;
|
|||||||
import com.dumptruckman.minecraft.pluginbase.plugin.AbstractBukkitPlugin;
|
import com.dumptruckman.minecraft.pluginbase.plugin.AbstractBukkitPlugin;
|
||||||
import com.mvplugin.core.api.CoreConfig;
|
import com.mvplugin.core.api.CoreConfig;
|
||||||
import com.mvplugin.core.api.MultiverseCore;
|
import com.mvplugin.core.api.MultiverseCore;
|
||||||
|
import com.mvplugin.core.api.WorldProperties;
|
||||||
import com.mvplugin.core.command.ImportCommand;
|
import com.mvplugin.core.command.ImportCommand;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -23,7 +24,7 @@ public class MultiverseCorePlugin extends AbstractBukkitPlugin<CoreConfig> imple
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPluginLoad() {
|
protected void onPluginLoad() {
|
||||||
|
WorldProperties.Descriptions.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user