From b55cf778bcf40c19306696c186478ee0a370d9ba Mon Sep 17 00:00:00 2001 From: Jeremy Wood Date: Fri, 9 Nov 2012 23:03:35 -0500 Subject: [PATCH] Implemented many property methods. --- .../core/AbstractMultiverseWorld.java | 56 ++++++++++--------- .../mvplugin/core/api/MultiverseWorld.java | 8 ++- .../core/api/{MVPerms.java => Perms.java} | 2 +- .../mvplugin/core/command/ImportCommand.java | 4 +- 4 files changed, 38 insertions(+), 32 deletions(-) rename base/src/main/java/com/mvplugin/core/api/{MVPerms.java => Perms.java} (92%) diff --git a/base/src/main/java/com/mvplugin/core/AbstractMultiverseWorld.java b/base/src/main/java/com/mvplugin/core/AbstractMultiverseWorld.java index a57423f7..9782bb7d 100644 --- a/base/src/main/java/com/mvplugin/core/AbstractMultiverseWorld.java +++ b/base/src/main/java/com/mvplugin/core/AbstractMultiverseWorld.java @@ -10,11 +10,10 @@ import com.mvplugin.core.minecraft.WorldEnvironment; import com.mvplugin.core.minecraft.WorldType; import java.util.List; -import java.util.concurrent.Callable; abstract class AbstractMultiverseWorld implements MultiverseWorld { + private final WorldProperties worldProperties; - private Callable apiObject; protected AbstractMultiverseWorld(final WorldProperties worldProperties) { this.worldProperties = worldProperties; @@ -47,26 +46,26 @@ abstract class AbstractMultiverseWorld implements MultiverseWorld { @Override public long getSeed() { - return 0; //To change body of implemented methods use File | Settings | File Templates. + return getProperties().get(WorldProperties.SEED); } @Override public void setSeed(long seed) { - //To change body of implemented methods use File | Settings | File Templates. + getProperties().set(WorldProperties.SEED, seed); } @Override public String getGenerator() { - return null; //To change body of implemented methods use File | Settings | File Templates. + return getProperties().get(WorldProperties.GENERATOR); } @Override - public void setGenerator(String generator) { - //To change body of implemented methods use File | Settings | File Templates. + public void setGenerator(final String generator) { + getProperties().set(WorldProperties.GENERATOR, generator != null ? generator : ""); } @Override - public WorldProperties getWorldProperties() { + public WorldProperties getProperties() { return worldProperties; } @@ -77,12 +76,12 @@ abstract class AbstractMultiverseWorld implements MultiverseWorld { @Override public String getAlias() { - return getWorldProperties().get(WorldProperties.ALIAS); + return getProperties().get(WorldProperties.ALIAS); } @Override public void setAlias(final String alias) { - getWorldProperties().set(WorldProperties.ALIAS, alias); + getProperties().set(WorldProperties.ALIAS, alias != null ? alias : ""); } @Override @@ -152,12 +151,12 @@ abstract class AbstractMultiverseWorld implements MultiverseWorld { @Override public boolean isHidden() { - return false; //To change body of implemented methods use File | Settings | File Templates. + return getProperties().get(WorldProperties.HIDDEN); } @Override - public void setHidden(boolean hidden) { - //To change body of implemented methods use File | Settings | File Templates. + public void setHidden(final boolean hidden) { + getProperties().set(WorldProperties.HIDDEN, hidden); } @Override @@ -192,12 +191,12 @@ abstract class AbstractMultiverseWorld implements MultiverseWorld { @Override public boolean getHunger() { - return false; //To change body of implemented methods use File | Settings | File Templates. + return getProperties().get(WorldProperties.HUNGER); } @Override - public void setHunger(boolean hungerEnabled) { - //To change body of implemented methods use File | Settings | File Templates. + public void setHunger(final boolean hungerEnabled) { + getProperties().set(WorldProperties.HUNGER, hungerEnabled); } @Override @@ -272,32 +271,32 @@ abstract class AbstractMultiverseWorld implements MultiverseWorld { @Override public boolean getAutoLoad() { - return false; //To change body of implemented methods use File | Settings | File Templates. + return getProperties().get(WorldProperties.AUTO_LOAD); } @Override - public void setAutoLoad(boolean autoLoad) { - //To change body of implemented methods use File | Settings | File Templates. + public void setAutoLoad(final boolean autoLoad) { + getProperties().set(WorldProperties.AUTO_LOAD, autoLoad); } @Override public boolean getBedRespawn() { - return false; //To change body of implemented methods use File | Settings | File Templates. + return getProperties().get(WorldProperties.BED_RESPAWN); } @Override - public void setBedRespawn(boolean autoLoad) { - //To change body of implemented methods use File | Settings | File Templates. + public void setBedRespawn(final boolean bedRespawn) { + getProperties().set(WorldProperties.BED_RESPAWN, bedRespawn); } @Override - public void setPlayerLimit(int limit) { - //To change body of implemented methods use File | Settings | File Templates. + public void setPlayerLimit(final int limit) { + getProperties().set(WorldProperties.PLAYER_LIMIT, limit); } @Override public int getPlayerLimit() { - return 0; //To change body of implemented methods use File | Settings | File Templates. + return getProperties().get(WorldProperties.PLAYER_LIMIT); } @Override @@ -322,6 +321,11 @@ abstract class AbstractMultiverseWorld implements MultiverseWorld { @Override public List getWorldBlacklist() { - return null; //To change body of implemented methods use File | Settings | File Templates. + return getProperties().get(WorldProperties.BLACK_LIST); + } + + @Override + public void save() { + getProperties().flush(); } } diff --git a/base/src/main/java/com/mvplugin/core/api/MultiverseWorld.java b/base/src/main/java/com/mvplugin/core/api/MultiverseWorld.java index f8191dbc..a56656af 100644 --- a/base/src/main/java/com/mvplugin/core/api/MultiverseWorld.java +++ b/base/src/main/java/com/mvplugin/core/api/MultiverseWorld.java @@ -50,7 +50,7 @@ public interface MultiverseWorld { * * @return The properties for this world. */ - WorldProperties getWorldProperties(); + WorldProperties getProperties(); /** * Gets the type of this world. As of 1.2 this will be: @@ -460,9 +460,9 @@ public interface MultiverseWorld { *

* True is default. * - * @param autoLoad True if players dying in this world respawn at their bed. + * @param bedRespawn True if players dying in this world respawn at their bed. */ - void setBedRespawn(boolean autoLoad); + void setBedRespawn(boolean bedRespawn); /** * Sets the player limit for this world after which players without an override @@ -521,4 +521,6 @@ public interface MultiverseWorld { * @return A List of world names. */ List getWorldBlacklist(); + + void save(); } diff --git a/base/src/main/java/com/mvplugin/core/api/MVPerms.java b/base/src/main/java/com/mvplugin/core/api/Perms.java similarity index 92% rename from base/src/main/java/com/mvplugin/core/api/MVPerms.java rename to base/src/main/java/com/mvplugin/core/api/Perms.java index 5e7d1da0..2f7aa51f 100644 --- a/base/src/main/java/com/mvplugin/core/api/MVPerms.java +++ b/base/src/main/java/com/mvplugin/core/api/Perms.java @@ -3,7 +3,7 @@ package com.mvplugin.core.api; import com.dumptruckman.minecraft.pluginbase.permission.Perm; import com.dumptruckman.minecraft.pluginbase.permission.PermFactory; -public interface MVPerms { +public interface Perms { Perm ALL_MULTIVERSE = PermFactory.newPerm("multiverse.*").child(Perm.ALL).build(); diff --git a/base/src/main/java/com/mvplugin/core/command/ImportCommand.java b/base/src/main/java/com/mvplugin/core/command/ImportCommand.java index b97e4acb..d33673ca 100644 --- a/base/src/main/java/com/mvplugin/core/command/ImportCommand.java +++ b/base/src/main/java/com/mvplugin/core/command/ImportCommand.java @@ -5,8 +5,8 @@ import com.dumptruckman.minecraft.pluginbase.messaging.ChatColor; import com.dumptruckman.minecraft.pluginbase.messaging.Message; import com.dumptruckman.minecraft.pluginbase.permission.Perm; import com.dumptruckman.minecraft.pluginbase.plugin.command.CommandInfo; -import com.mvplugin.core.api.MVPerms; import com.mvplugin.core.api.MultiverseWorld; +import com.mvplugin.core.api.Perms; import com.mvplugin.core.minecraft.WorldEnvironment; import com.mvplugin.core.util.Language; import com.sk89q.minecraft.util.commands.CommandContext; @@ -63,7 +63,7 @@ public class ImportCommand extends MultiverseCommand { @Override public Perm getPerm() { - return MVPerms.CMD_IMPORT; + return Perms.CMD_IMPORT; } @Override