diff --git a/src/com/onarandombox/MultiverseCore/MVPlayerListener.java b/src/com/onarandombox/MultiverseCore/MVPlayerListener.java index d5a3f259..d3305995 100644 --- a/src/com/onarandombox/MultiverseCore/MVPlayerListener.java +++ b/src/com/onarandombox/MultiverseCore/MVPlayerListener.java @@ -59,9 +59,9 @@ public class MVPlayerListener extends PlayerListener { * Check whether the Server is set to prefix the chat with the World name. If not we do nothing, if so we need to check if the World has an Alias. */ if (this.plugin.configMV.getBoolean("worldnameprefix", true)) { - + String world = event.getPlayer().getWorld().getName(); - + String prefix = ""; // If we're not a MV world, don't do anything @@ -70,9 +70,9 @@ public class MVPlayerListener extends PlayerListener { } MVWorld mvworld = this.plugin.getMVWorld(world); prefix = mvworld.getColoredWorldString(); - + String format = event.getFormat(); - + event.setFormat("[" + prefix + "]" + format); } } @@ -84,10 +84,25 @@ public class MVPlayerListener extends PlayerListener { // TODO: Handle Alternate Respawn from config MVPlayerSession ps = this.plugin.getPlayerSession(event.getPlayer()); - Location newrespawn = ps.getRespawnWorld().getSpawnLocation(); - MVRespawnEvent mvevent = new MVRespawnEvent(newrespawn, event.getPlayer(), this.plugin.configMV.getString("notchrespawnstyle", "none")); - this.plugin.getServer().getPluginManager().callEvent(mvevent); - event.setRespawnLocation(mvevent.getPlayersRespawnLocation()); + //Location newrespawn = ps.getRespawnWorld().getSpawnLocation(); + Location newrespawn = event.getPlayer().getWorld().getSpawnLocation(); + String respawnStyle = this.plugin.configMV.getString("notchrespawnstyle", "none"); + String defaultWorld = this.plugin.configMV.getString("defaultspawnworld", "world"); + + if (respawnStyle.equalsIgnoreCase("none")) { + event.setRespawnLocation(newrespawn); + } else if (respawnStyle.equalsIgnoreCase("default")) { + + if(this.plugin.isMVWorld(defaultWorld)) { + event.setRespawnLocation(this.plugin.getServer().getWorld(defaultWorld).getSpawnLocation()); + } else { + event.setRespawnLocation(newrespawn); + } + } else { + MVRespawnEvent mvevent = new MVRespawnEvent(newrespawn, event.getPlayer(), respawnStyle); + this.plugin.getServer().getPluginManager().callEvent(mvevent); + event.setRespawnLocation(mvevent.getPlayersRespawnLocation()); + } } @Override