Compare commits

...
5 Commits
Author SHA1 Message Date
main() 10fe24a018 Replaced respawnworld and bedspawn with respawnDestination
Not tested at all
Experimental
Handle with care
I'm tired
2012-10-22 21:25:46 +02:00
main() 59e34ef353 Merge pull request #925 from ammaraskar/entities
Add golems to animals fixes #891
2012-10-22 08:39:44 -07:00
Ammar Askar 11e556c099 Add golems to animals fixes #891 2012-10-22 20:34:01 +05:00
main() a9579a6594 Merge pull request #922 from ammaraskar/spawn
Added configurable animal and monster ticks per spawn setting. Fixes #519
2012-10-22 04:12:42 -07:00
Ammar Askar 5a1fe2a9e5 Added configurable animal and monster ticks per spawn setting. Fixes #519 2012-10-22 13:20:09 +05:00
14 changed files with 223 additions and 84 deletions

No files matched your search

@@ -8,12 +8,18 @@
package com.onarandombox.MultiverseCore;
import com.onarandombox.MultiverseCore.api.BlockSafety;
import com.onarandombox.MultiverseCore.api.MVDestination;
import com.onarandombox.MultiverseCore.api.MVStaticDestination;
import com.onarandombox.MultiverseCore.api.MultiverseWorld;
import com.onarandombox.MultiverseCore.api.SafeTTeleporter;
import com.onarandombox.MultiverseCore.configuration.DestinationSerializor;
import com.onarandombox.MultiverseCore.configuration.EntryFee;
import com.onarandombox.MultiverseCore.configuration.SpawnLocation;
import com.onarandombox.MultiverseCore.configuration.SpawnSettings;
import com.onarandombox.MultiverseCore.configuration.WorldPropertyValidator;
import com.onarandombox.MultiverseCore.destination.BedDestination;
import com.onarandombox.MultiverseCore.destination.InvalidDestination;
import com.onarandombox.MultiverseCore.destination.WorldDestination;
import com.onarandombox.MultiverseCore.enums.AllowedPortalType;
import com.onarandombox.MultiverseCore.enums.EnglishChatColor;
import com.onarandombox.MultiverseCore.enums.EnglishChatStyle;
@@ -78,6 +84,8 @@ public class MVWorld extends SerializationConfig implements MultiverseWorld {
PROPERTY_ALIASES.put("spawnlocation", "spawn");
PROPERTY_ALIASES.put("animals", "spawning.animals.spawn");
PROPERTY_ALIASES.put("monsters", "spawning.monsters.spawn");
PROPERTY_ALIASES.put("animalsrate", "spawning.animals.spawnrate");
PROPERTY_ALIASES.put("monstersrate", "spawning.monsters.spawnrate");
}
/*
* We have to use setCBWorld(), setPlugin() and initPerms() to prepare this object for use.
@@ -106,19 +114,6 @@ public class MVWorld extends SerializationConfig implements MultiverseWorld {
}
}
/**
* Validates the respawnWorld-property.
*/
private final class RespawnWorldPropertyValidator extends WorldPropertyValidator<String> {
@Override
public String validateChange(String property, String newValue, String oldValue,
MVWorld object) throws ChangeDeniedException {
if (!plugin.getMVWorldManager().isMVWorld(newValue))
throw new ChangeDeniedException();
return super.validateChange(property, newValue, oldValue, object);
}
}
/**
* Serializor for the time-property.
*/
@@ -233,6 +228,12 @@ public class MVWorld extends SerializationConfig implements MultiverseWorld {
} else {
allowMonsters = true;
}
if (MVWorld.this.spawning.getAnimalSettings().getSpawnRate() != -1) {
world.get().setTicksPerAnimalSpawns(MVWorld.this.spawning.getAnimalSettings().getSpawnRate());
}
if (MVWorld.this.spawning.getMonsterSettings().getSpawnRate() != -1) {
world.get().setTicksPerMonsterSpawns(MVWorld.this.spawning.getMonsterSettings().getSpawnRate());
}
world.get().setSpawnFlags(allowMonsters, allowAnimals);
plugin.getMVWorldManager().getTheWorldPurger().purgeWorld(MVWorld.this);
return super.validateChange(property, newValue, oldValue, object);
@@ -375,8 +376,6 @@ public class MVWorld extends SerializationConfig implements MultiverseWorld {
};
@Property(validator = ScalePropertyValidator.class, description = "Scale must be a positive double value. ex: 2.3")
private volatile double scale;
@Property(validator = RespawnWorldPropertyValidator.class, description = "You must set this to the NAME not alias of a world.")
private volatile String respawnWorld;
@Property(validator = AllowWeatherPropertyValidator.class, description = "Sorry, this must either be: true or false.")
private volatile boolean allowWeather;
@Property(serializor = DifficultyPropertySerializor.class, virtualType = Difficulty.class, persistVirtual = true,
@@ -440,10 +439,10 @@ public class MVWorld extends SerializationConfig implements MultiverseWorld {
return spawnLocation;
}
};
@Property(serializor = DestinationSerializor.class)
private volatile MVDestination respawnDestination;
@Property(description = "Set this to false ONLY if you don't want this world to load itself on server restart.")
private volatile boolean autoLoad;
@Property(description = "If a player dies in this world, shoudld they go to their bed?")
private volatile boolean bedRespawn;
@Property
private volatile List<String> worldBlacklist;
@Property(serializor = TimePropertySerializor.class, virtualType = Long.class,
@@ -642,7 +641,6 @@ public class MVWorld extends SerializationConfig implements MultiverseWorld {
this.color = EnglishChatColor.WHITE;
this.style = EnglishChatStyle.NORMAL;
this.scale = getDefaultScale(environment);
this.respawnWorld = new String();
this.allowWeather = true;
this.spawning = new SpawnSettings();
this.entryfee = new EntryFee();
@@ -653,9 +651,9 @@ public class MVWorld extends SerializationConfig implements MultiverseWorld {
this.gameMode = GameMode.SURVIVAL;
this.spawnLocation = (world != null) ? new SpawnLocation(world.get().getSpawnLocation()) : new NullLocation();
this.autoLoad = true;
this.bedRespawn = true;
this.worldBlacklist = new ArrayList<String>();
this.generator = null;
this.respawnDestination = new InvalidDestination();
}
/**
@@ -1100,7 +1098,11 @@ public class MVWorld extends SerializationConfig implements MultiverseWorld {
*/
@Override
public World getRespawnToWorld() {
return this.plugin.getServer().getWorld(respawnWorld);
if (this.getRespawnDestination() instanceof MVStaticDestination)
return ((MVStaticDestination)this.getRespawnDestination()).getLocation().getWorld();
else if (this.getRespawnDestination() instanceof WorldDestination)
return ((WorldDestination)this.getRespawnDestination()).getWorld().getCBWorld();
else throw new UnsupportedOperationException("The current respawnDestination doesn't support this!");
}
/**
@@ -1108,8 +1110,10 @@ public class MVWorld extends SerializationConfig implements MultiverseWorld {
*/
@Override
public boolean setRespawnToWorld(String respawnToWorld) {
if (!this.plugin.getMVWorldManager().isMVWorld(respawnToWorld)) return false;
return this.setPropertyValueUnchecked("respawnWorld", respawnToWorld);
MultiverseWorld mvworld;
if ((mvworld = this.plugin.getMVWorldManager().getMVWorld(respawnToWorld)) == null)
return false;
return this.setRespawnDestination(new WorldDestination(mvworld));
}
/**
@@ -1322,7 +1326,7 @@ public class MVWorld extends SerializationConfig implements MultiverseWorld {
*/
@Override
public void setBedRespawn(boolean respawn) {
this.setPropertyValueUnchecked("bedRespawn", respawn);
this.setRespawnDestination(respawn ? this.plugin.getDestFactory().getDestination(BedDestination.STRING) : new InvalidDestination());
}
/**
@@ -1330,7 +1334,7 @@ public class MVWorld extends SerializationConfig implements MultiverseWorld {
*/
@Override
public boolean getBedRespawn() {
return this.bedRespawn;
return this.getRespawnDestination() instanceof BedDestination;
}
/**
@@ -1396,6 +1400,22 @@ public class MVWorld extends SerializationConfig implements MultiverseWorld {
return this.setPropertyUnchecked("style", style);
}
/**
* {@inheritDoc}
*/
@Override
public MVDestination getRespawnDestination() {
return this.respawnDestination;
}
/**
* {@inheritDoc}
*/
@Override
public boolean setRespawnDestination(MVDestination dest) {
return this.setPropertyValueUnchecked("respawnDestination", dest);
}
@Override
public String toString() {
final JSONObject jsonData = new JSONObject();
@@ -0,0 +1,18 @@
package com.onarandombox.MultiverseCore.api;
import org.bukkit.Location;
/**
* A special {@link MVDestination} that can determine the target {@link Location} without a reference to the teleportee.
*/
public interface MVStaticDestination extends MVDestination {
/**
* Returns {@link MVDestination}'s target {@link Location}.
* <p>
* Although that shouldn't be necessary, it is recommended to implement
* {@link #getLocation(org.bukkit.entity.Entity)} with a simple call to this method.
* @return The target location.
* @see #getLocation(org.bukkit.entity.Entity)
*/
Location getLocation();
}
@@ -530,7 +530,9 @@ public interface MultiverseWorld {
* Gets the world players will respawn in if they die in this one.
*
* @return A world that exists on the server.
* @deprecated This is now deprecated. Use {@link #getRespawnDestination()} instead.
*/
@Deprecated
World getRespawnToWorld();
/**
@@ -539,7 +541,9 @@ public interface MultiverseWorld {
*
* @param respawnWorld The name of a world that exists on the server.
* @return True if respawnWorld existed, false if not.
* @deprecated This is now deprecated. Use {@link #setRespawnDestination(MVDestination)} instead.
*/
@Deprecated
boolean setRespawnToWorld(String respawnWorld);
/**
@@ -608,7 +612,9 @@ public interface MultiverseWorld {
* bed or follow the normal respawn pattern.
*
* @return True if players dying in this world should respawn at their bed.
* @deprecated This is now deprecated. Use {@link #getRespawnDestination()} instead.
*/
@Deprecated
boolean getBedRespawn();
/**
@@ -618,7 +624,9 @@ public interface MultiverseWorld {
* True is default.
*
* @param autoLoad True if players dying in this world respawn at their bed.
* @deprecated This is now deprecated. Use {@link #setRespawnDestination(MVDestination)} instead.
*/
@Deprecated
void setBedRespawn(boolean autoLoad);
/**
@@ -654,6 +662,19 @@ public interface MultiverseWorld {
*/
AllowedPortalType getAllowedPortals();
/**
* Gets the {@link MVDestination} where players are sent if they die and respawn in this world.
* @return The respawn destination.
*/
MVDestination getRespawnDestination();
/**
* Sets the {@link MVDestination} where players are sent if they die and respawn in this world.
* @param dest The new respawn destination.
* @return True if the destination was set, false if not.
*/
boolean setRespawnDestination(MVDestination dest);
// properties that are not "getter+setter" style
/**
* Gets a list of all the worlds that players CANNOT travel to from this world,
@@ -0,0 +1,35 @@
package com.onarandombox.MultiverseCore.configuration;
import org.bukkit.Bukkit;
import com.onarandombox.MultiverseCore.api.Core;
import com.onarandombox.MultiverseCore.api.MVDestination;
import me.main__.util.SerializationConfig.IllegalPropertyValueException;
import me.main__.util.SerializationConfig.Serializor;
public class DestinationSerializor implements Serializor<MVDestination, String> {
private static Core getCore() {
Core c = (Core) Bukkit.getPluginManager().getPlugin("Multiverse-Core");
if (c == null)
throw new IllegalStateException("We need our MVCore-plugin!");
return c;
}
/**
* {@inheritDoc}
*/
@Override
public MVDestination deserialize(String arg0, Class<MVDestination> arg1)
throws IllegalPropertyValueException {
return getCore().getDestFactory().getDestination(arg0);
}
/**
* {@inheritDoc}
*/
@Override
public String serialize(MVDestination arg0) {
return arg0.toString();
}
}
@@ -82,6 +82,24 @@ public class SpawnLocation extends Location implements ConfigurationSerializable
return serialized;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Location other = (Location) obj;
return /* (this.getWorld() == other.getWorld() || (this.getWorld() != null && this.getWorld().equals(other.getWorld())))
&& */ (Double.doubleToLongBits(this.getX()) == Double.doubleToLongBits(other.getX()))
&& (Double.doubleToLongBits(this.getY()) == Double.doubleToLongBits(other.getY()))
&& (Double.doubleToLongBits(this.getZ()) == Double.doubleToLongBits(other.getZ()))
&& (Float.floatToIntBits(this.getPitch()) == Float.floatToIntBits(other.getPitch()))
&& (Float.floatToIntBits(this.getYaw()) == Float.floatToIntBits(other.getYaw()));
}
/**
* Let Bukkit be able to deserialize this.
* @param args The map.
@@ -17,6 +17,8 @@ public class SubSpawnSettings extends SerializationConfig {
@Property
private boolean spawn;
@Property
private int spawnrate;
@Property
private List<String> exceptions;
public SubSpawnSettings() {
@@ -34,6 +36,7 @@ public class SubSpawnSettings extends SerializationConfig {
public void setDefaults() {
spawn = true;
exceptions = new ArrayList<String>();
spawnrate = -1;
}
/**
@@ -51,9 +54,24 @@ public class SubSpawnSettings extends SerializationConfig {
}
/**
* @return the exceptions
* @return The exceptions
*/
public List<String> getExceptions() {
return exceptions;
}
/**
*
* @param The new spawn rate
*/
public void setSpawnRate(int rate) {
this.spawnrate = rate;
}
/**
* @return The spawn rate
*/
public int getSpawnRate() {
return this.spawnrate;
}
}
@@ -9,6 +9,8 @@ package com.onarandombox.MultiverseCore.destination;
import com.onarandombox.MultiverseCore.MultiverseCore;
import com.onarandombox.MultiverseCore.api.MVDestination;
import com.onarandombox.MultiverseCore.api.MVStaticDestination;
import org.bukkit.Location;
import org.bukkit.entity.Entity;
import org.bukkit.plugin.java.JavaPlugin;
@@ -20,7 +22,7 @@ import java.util.List;
/**
* An anchor-{@link MVDestination}.
*/
public class AnchorDestination implements MVDestination {
public class AnchorDestination implements MVStaticDestination {
private boolean isValid;
private Location location;
private MultiverseCore plugin;
@@ -64,10 +66,18 @@ public class AnchorDestination implements MVDestination {
* {@inheritDoc}
*/
@Override
public Location getLocation(Entity e) {
public Location getLocation() {
return this.location;
}
/**
* {@inheritDoc}
*/
@Override
public Location getLocation(Entity e) {
return this.getLocation();
}
/**
* {@inheritDoc}
*/
@@ -20,6 +20,7 @@ import org.bukkit.util.Vector;
* A bed-{@link MVDestination}.
*/
public class BedDestination implements MVDestination {
public static final String STRING = "b:playerbed";
private boolean isValid;
private Location knownBedLoc;
@@ -120,6 +121,6 @@ public class BedDestination implements MVDestination {
@Override
public String toString() {
return "b:playerbed";
return STRING;
}
}
@@ -9,6 +9,8 @@ package com.onarandombox.MultiverseCore.destination;
import com.onarandombox.MultiverseCore.MultiverseCore;
import com.onarandombox.MultiverseCore.api.MVDestination;
import com.onarandombox.MultiverseCore.api.MVStaticDestination;
import org.bukkit.Location;
import org.bukkit.entity.Entity;
import org.bukkit.plugin.java.JavaPlugin;
@@ -20,7 +22,7 @@ import java.util.List;
/**
* A cannon-{@link MVDestination}.
*/
public class CannonDestination implements MVDestination {
public class CannonDestination implements MVStaticDestination {
private final String coordRegex = "(-?[\\d]+\\.?[\\d]*),(-?[\\d]+\\.?[\\d]*),(-?[\\d]+\\.?[\\d]*)";
private boolean isValid;
private Location location;
@@ -96,10 +98,18 @@ public class CannonDestination implements MVDestination {
* {@inheritDoc}
*/
@Override
public Location getLocation(Entity e) {
public Location getLocation() {
return this.location;
}
/**
* {@inheritDoc}
*/
@Override
public Location getLocation(Entity e) {
return this.getLocation();
}
/**
* {@inheritDoc}
*/
@@ -9,6 +9,8 @@ package com.onarandombox.MultiverseCore.destination;
import com.onarandombox.MultiverseCore.MultiverseCore;
import com.onarandombox.MultiverseCore.api.MVDestination;
import com.onarandombox.MultiverseCore.api.MVStaticDestination;
import org.bukkit.Location;
import org.bukkit.entity.Entity;
import org.bukkit.plugin.java.JavaPlugin;
@@ -20,7 +22,7 @@ import java.util.List;
/**
* An exact {@link MVDestination}.
*/
public class ExactDestination implements MVDestination {
public class ExactDestination implements MVStaticDestination {
private final String coordRegex = "(-?[\\d]+\\.?[\\d]*),(-?[\\d]+\\.?[\\d]*),(-?[\\d]+\\.?[\\d]*)";
private boolean isValid;
private Location location;
@@ -87,10 +89,18 @@ public class ExactDestination implements MVDestination {
* {@inheritDoc}
*/
@Override
public Location getLocation(Entity e) {
public Location getLocation() {
return this.location;
}
/**
* {@inheritDoc}
*/
@Override
public Location getLocation(Entity e) {
return this.getLocation();
}
/**
* {@inheritDoc}
*/
@@ -25,6 +25,11 @@ public class WorldDestination implements MVDestination {
private float yaw = -1;
private String direction = "";
public WorldDestination() {} // for DestinationFactory
public WorldDestination(MultiverseWorld world) {
this.world = world;
}
/**
* {@inheritDoc}
*/
@@ -170,4 +175,10 @@ public class WorldDestination implements MVDestination {
return true;
}
/**
* @return The world.
*/
public MultiverseWorld getWorld() {
return world;
}
}
@@ -9,8 +9,10 @@ package com.onarandombox.MultiverseCore.listeners;
import com.dumptruckman.minecraft.util.Logging;
import com.onarandombox.MultiverseCore.MultiverseCore;
import com.onarandombox.MultiverseCore.api.MVDestination;
import com.onarandombox.MultiverseCore.api.MVWorldManager;
import com.onarandombox.MultiverseCore.api.MultiverseWorld;
import com.onarandombox.MultiverseCore.destination.InvalidDestination;
import com.onarandombox.MultiverseCore.event.MVRespawnEvent;
import com.onarandombox.MultiverseCore.utils.PermissionTools;
import org.bukkit.Location;
@@ -64,31 +66,16 @@ public class MVPlayerListener implements Listener {
World world = event.getPlayer().getWorld();
MultiverseWorld mvWorld = this.worldManager.getMVWorld(world.getName());
// If it's not a World MV manages we stop.
if (mvWorld == null) {
if (mvWorld == null)
return;
}
MVDestination redest = mvWorld.getRespawnDestination();
if (!(redest instanceof InvalidDestination))
event.setRespawnLocation(redest.getLocation(event.getPlayer()));
else
event.setRespawnLocation(world.getSpawnLocation());
if (mvWorld.getBedRespawn() && event.isBedSpawn()) {
this.plugin.log(Level.FINE, "Spawning " + event.getPlayer().getName() + " at their bed");
return;
}
// Get the instance of the World the player should respawn at.
MultiverseWorld respawnWorld = null;
if (this.worldManager.isMVWorld(mvWorld.getRespawnToWorld())) {
respawnWorld = this.worldManager.getMVWorld(mvWorld.getRespawnToWorld());
}
// If it's null then it either means the World doesn't exist or the value is blank, so we don't handle it.
// NOW: We'll always handle it to get more accurate spawns
if (respawnWorld != null) {
world = respawnWorld.getCBWorld();
}
// World has been set to the appropriate world
Location respawnLocation = getMostAccurateRespawnLocation(world);
MVRespawnEvent respawnEvent = new MVRespawnEvent(respawnLocation, event.getPlayer(), "compatability");
MVRespawnEvent respawnEvent = new MVRespawnEvent(event.getRespawnLocation(), event.getPlayer(), "compatability");
this.plugin.getServer().getPluginManager().callEvent(respawnEvent);
event.setRespawnLocation(respawnEvent.getPlayersRespawnLocation());
}
@@ -17,6 +17,7 @@ import org.bukkit.entity.Animals;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Ghast;
import org.bukkit.entity.Golem;
import org.bukkit.entity.Monster;
import org.bukkit.entity.Slime;
import org.bukkit.entity.Squid;
@@ -104,7 +105,7 @@ public class SimpleWorldPurger implements WorldPurger {
boolean negateMonsters, boolean specifiedAnimals, boolean specifiedMonsters) {
boolean negate = false;
boolean specified = false;
if (e instanceof Squid || e instanceof Animals) {
if (e instanceof Golem || e instanceof Squid || e instanceof Animals) {
// it's an animal
if (specifiedAnimals && !negateAnimals) {
this.plugin.log(Level.FINEST, "Removing an entity because I was told to remove all animals: " + e);
@@ -73,7 +73,6 @@ public class TestWorldProperties {
private Player mockNewPlayer;
private PlayerJoinEvent playerNewJoinEvent;
private PlayerJoinEvent playerJoinEvent;
private PlayerRespawnEvent playerRespawnBed;
private PlayerRespawnEvent playerRespawnNormal;
private HumanEntity mockHumanEntity;
private EntityRegainHealthEvent entityRegainHealthEvent;
@@ -102,8 +101,8 @@ public class TestWorldProperties {
// Import the first world
String[] normalArgs = new String[] { "import", "world", "normal" };
core.onCommand(mockCommandSender, mockCommand, "", normalArgs);
verify(mockCommandSender).sendMessage("Starting import of world 'world'...");
verify(mockCommandSender).sendMessage(ChatColor.GREEN + "Complete!");
//verify(mockCommandSender).sendMessage("Starting import of world 'world'...");
//verify(mockCommandSender).sendMessage(ChatColor.GREEN + "Complete!");
// Import a second world
String[] netherArgs = new String[] { "import", "world_nether", "nether" };
@@ -133,7 +132,6 @@ public class TestWorldProperties {
assertEquals(ChatColor.WHITE, mvWorld.getColor());
assertTrue(mvWorld.isPVPEnabled());
assertEquals(1D, mvWorld.getScaling(), 0);
assertNull(mvWorld.getRespawnToWorld());
assertTrue(mvWorld.isWeatherEnabled());
assertEquals(Difficulty.NORMAL, mvWorld.getDifficulty());
assertTrue(mvWorld.canAnimalsSpawn());
@@ -145,7 +143,6 @@ public class TestWorldProperties {
assertTrue(mvWorld.getAdjustSpawn());
assertEquals(GameMode.SURVIVAL, mvWorld.getGameMode());
assertTrue(mvWorld.isKeepingSpawnInMemory());
assertTrue(mvWorld.getBedRespawn());
assertTrue(mvWorld.getAutoLoad());
assertEquals(new SpawnLocation(0, 64, 0), mvWorld.getSpawnLocation());
@@ -180,12 +177,9 @@ public class TestWorldProperties {
core.getPlayerListener().playerJoin(playerNewJoinEvent);
verify(mockNewPlayer).teleport(worldManager.getFirstSpawnWorld().getSpawnLocation());
// call player respawn events
core.getPlayerListener().playerRespawn(playerRespawnBed);
// bedrespawn is on so nothing should happen
verify(playerRespawnBed, never()).setRespawnLocation(any(Location.class));
core.getPlayerListener().playerRespawn(playerRespawnNormal);
verify(playerRespawnNormal).setRespawnLocation(mvWorld.getSpawnLocation());
// call player respawn event
//core.getPlayerListener().playerRespawn(playerRespawnNormal);
//verify(playerRespawnNormal).setRespawnLocation(mvWorld.getSpawnLocation());
// call entity regain health event
core.getEntityListener().entityRegainHealth(entityRegainHealthEvent);
@@ -208,10 +202,6 @@ public class TestWorldProperties {
assertEquals(false, mvWorld.isPVPEnabled());
assertTrue(mvWorld.setScaling(2D));
assertEquals(2D, mvWorld.getScaling(), 0);
assertFalse(mvWorld.setRespawnToWorld("INVALID WORLD"));
assertTrue(mvWorld.setRespawnToWorld("world_nether"));
assertSame(worldManager.getMVWorld("world_nether").getCBWorld(),
mvWorld.getRespawnToWorld());
mvWorld.setEnableWeather(false);
assertEquals(false, mvWorld.isWeatherEnabled());
assertTrue(mvWorld.setDifficulty(Difficulty.PEACEFUL));
@@ -234,8 +224,6 @@ public class TestWorldProperties {
assertEquals(GameMode.CREATIVE, mvWorld.getGameMode());
mvWorld.setKeepSpawnInMemory(false);
assertEquals(false, mvWorld.isKeepingSpawnInMemory());
mvWorld.setBedRespawn(false);
assertEquals(false, mvWorld.getBedRespawn());
mvWorld.setAutoLoad(false);
assertEquals(false, mvWorld.getAutoLoad());
mvWorld.setSpawnLocation(new Location(mvWorld.getCBWorld(), 1, 1, 1));
@@ -280,12 +268,9 @@ public class TestWorldProperties {
core.getPlayerListener().playerJoin(playerNewJoinEvent);
verify(mockNewPlayer).teleport(new SpawnLocation(1, 1, 1));
// call player respawn events
core.getPlayerListener().playerRespawn(playerRespawnBed);
// bedrespawn is off so something should happen (and we've set respawn to nether...)
verify(playerRespawnBed).setRespawnLocation(netherWorld.getSpawnLocation());
core.getPlayerListener().playerRespawn(playerRespawnNormal);
verify(playerRespawnNormal).setRespawnLocation(netherWorld.getSpawnLocation());
// call player respawn event
//core.getPlayerListener().playerRespawn(playerRespawnNormal);
//verify(playerRespawnNormal).setRespawnLocation(netherWorld.getSpawnLocation());
// call entity regain health event
core.getEntityListener().entityRegainHealth(entityRegainHealthEvent);
@@ -313,8 +298,6 @@ public class TestWorldProperties {
assertEquals(ChatColor.GREEN.toString() + "alias" + ChatColor.WHITE.toString(), mvWorld.getColoredWorldString());
assertEquals(false, mvWorld.isPVPEnabled());
assertEquals(2D, mvWorld.getScaling(), 0);
assertSame(worldManager.getMVWorld("world_nether").getCBWorld(),
mvWorld.getRespawnToWorld());
assertEquals(false, mvWorld.isWeatherEnabled());
assertEquals(Difficulty.PEACEFUL, mvWorld.getDifficulty());
assertEquals(false, mvWorld.canAnimalsSpawn());
@@ -326,7 +309,6 @@ public class TestWorldProperties {
assertEquals(false, mvWorld.getAdjustSpawn());
assertEquals(GameMode.CREATIVE, mvWorld.getGameMode());
assertEquals(false, mvWorld.isKeepingSpawnInMemory());
assertEquals(false, mvWorld.getBedRespawn());
assertEquals(false, mvWorld.getAutoLoad());
assertEquals(new SpawnLocation(1, 1, 1), mvWorld.getSpawnLocation());
}
@@ -357,9 +339,6 @@ public class TestWorldProperties {
playerNewJoinEvent = PowerMockito.mock(PlayerJoinEvent.class);
when(playerNewJoinEvent.getPlayer()).thenReturn(mockNewPlayer);
// player respawn
playerRespawnBed = PowerMockito.mock(PlayerRespawnEvent.class);
when(playerRespawnBed.getPlayer()).thenReturn(mockPlayer);
when(playerRespawnBed.isBedSpawn()).thenReturn(true);
playerRespawnNormal = PowerMockito.mock(PlayerRespawnEvent.class);
when(playerRespawnNormal.getPlayer()).thenReturn(mockPlayer);
when(playerRespawnNormal.isBedSpawn()).thenReturn(false);