From ea6e94d99dfd35ec89968c1acc4ee9365685b9c3 Mon Sep 17 00:00:00 2001 From: Eric Stokes Date: Wed, 28 Sep 2011 19:34:00 -0600 Subject: [PATCH] Fix Signportals not going anywhere --- .../onarandombox/MultiverseCore/MVWorld.java | 4 ++- .../listeners/MVPlayerListener.java | 25 ++++++++++--------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/onarandombox/MultiverseCore/MVWorld.java b/src/main/java/com/onarandombox/MultiverseCore/MVWorld.java index 67466f37..7ca5d4d3 100644 --- a/src/main/java/com/onarandombox/MultiverseCore/MVWorld.java +++ b/src/main/java/com/onarandombox/MultiverseCore/MVWorld.java @@ -380,7 +380,9 @@ public class MVWorld { this.setMonsters(value); } else if (name.equalsIgnoreCase("memory") || name.equalsIgnoreCase("spawnmemory")) { this.setSpawnInMemory(value); - } else if (name.equalsIgnoreCase("weather") || name.equalsIgnoreCase("storm")) { + } else if (name.equalsIgnoreCase("hunger")) { + this.setHunger(value); + }else if (name.equalsIgnoreCase("weather") || name.equalsIgnoreCase("storm")) { this.setEnableWeather(value); } else { return false; diff --git a/src/main/java/com/onarandombox/MultiverseCore/listeners/MVPlayerListener.java b/src/main/java/com/onarandombox/MultiverseCore/listeners/MVPlayerListener.java index 1bc1278e..e8c53116 100644 --- a/src/main/java/com/onarandombox/MultiverseCore/listeners/MVPlayerListener.java +++ b/src/main/java/com/onarandombox/MultiverseCore/listeners/MVPlayerListener.java @@ -129,6 +129,10 @@ public class MVPlayerListener extends PlayerListener { if (event.isCancelled()) { return; } + // Handle the Players GameMode setting for the new world. + if (this.plugin.getConfig().getBoolean("enforcegamemodes", true)) { + this.handleGameMode(event.getPlayer(), event.getTo().getWorld()); + } MVWorld fromWorld = this.worldManager.getMVWorld(event.getFrom().getWorld().getName()); MVWorld toWorld = this.worldManager.getMVWorld(event.getTo().getWorld().getName()); event.setCancelled(checkWorldPermissions(fromWorld, toWorld, event.getPlayer())); @@ -145,9 +149,14 @@ public class MVPlayerListener extends PlayerListener { @Override public void onPlayerPortal(PlayerPortalEvent event) { + if (event.isCancelled() || event.getTo() == null || event.getFrom() == null) { return; } + // Handle the Players GameMode setting for the new world. + if (this.plugin.getConfig().getBoolean("enforcegamemodes", true)) { + this.handleGameMode(event.getPlayer(), event.getTo().getWorld()); + } MVWorld fromWorld = this.worldManager.getMVWorld(event.getFrom().getWorld().getName()); MVWorld toWorld = this.worldManager.getMVWorld(event.getTo().getWorld().getName()); event.setCancelled(checkWorldPermissions(fromWorld, toWorld, event.getPlayer())); @@ -171,27 +180,19 @@ public class MVPlayerListener extends PlayerListener { player.sendMessage("You don't have access to go here..."); return true; } + } else { + // The toworld is not handled by MV, we don't care about payments + return false; } if (fromWorld != null) { - if (toWorld == null) { - return true; - } if (fromWorld.getWorldBlacklist().contains(toWorld.getName())) { player.sendMessage("You don't have access to go to " + toWorld.getColoredWorldString() + " from " + fromWorld.getColoredWorldString()); return true; } } - if (toWorld == null) { - // The toworld is not handled by MV, we don't care about payments - return false; - } + // Only check payments if it's a different world: if (!toWorld.equals(fromWorld)) { - // Handle the Players GameMode setting for the new world. - if (this.plugin.getConfig().getBoolean("enforcegamemodes", true)) { - this.handleGameMode(player, toWorld); - } - // If the player does not have to pay, return now. if (toWorld.isExempt(player)) { return false;