Don't try to handle events for worlds we don't own in MVPortalListener. Fixes #1589.

This commit is contained in:
Jeremy Wood 2015-07-13 12:16:36 -04:00
parent 28da4aac2f
commit 4233e4f8b4

View File

@ -43,7 +43,7 @@ public class MVPortalListener implements Listener {
} }
MultiverseWorld world = this.plugin.getMVWorldManager().getMVWorld(event.getEntity().getWorld()); MultiverseWorld world = this.plugin.getMVWorldManager().getMVWorld(event.getEntity().getWorld());
// We have to do it like this due to a bug in 1.1-R3 // We have to do it like this due to a bug in 1.1-R3
if (!world.getAllowedPortals().isPortalAllowed(event.getPortalType())) { if (world != null && !world.getAllowedPortals().isPortalAllowed(event.getPortalType())) {
event.setCancelled(true); event.setCancelled(true);
} }
} }
@ -55,7 +55,7 @@ public class MVPortalListener implements Listener {
@EventHandler(ignoreCancelled = true) @EventHandler(ignoreCancelled = true)
public void portalForm(PortalCreateEvent event) { public void portalForm(PortalCreateEvent event) {
MultiverseWorld world = this.plugin.getMVWorldManager().getMVWorld(event.getWorld()); MultiverseWorld world = this.plugin.getMVWorldManager().getMVWorld(event.getWorld());
if (!world.getAllowedPortals().isPortalAllowed(PortalType.NETHER)) { if (world != null && !world.getAllowedPortals().isPortalAllowed(PortalType.NETHER)) {
plugin.log(Level.FINE, "Cancelling creation of nether portal because portalForm disallows."); plugin.log(Level.FINE, "Cancelling creation of nether portal because portalForm disallows.");
event.setCancelled(true); event.setCancelled(true);
} }
@ -78,7 +78,7 @@ public class MVPortalListener implements Listener {
return; return;
} }
MultiverseWorld world = this.plugin.getMVWorldManager().getMVWorld(event.getPlayer().getWorld()); MultiverseWorld world = this.plugin.getMVWorldManager().getMVWorld(event.getPlayer().getWorld());
if (!world.getAllowedPortals().isPortalAllowed(PortalType.ENDER)) { if (world != null && !world.getAllowedPortals().isPortalAllowed(PortalType.ENDER)) {
plugin.log(Level.FINE, "Cancelling creation of ender portal because portalForm disallows."); plugin.log(Level.FINE, "Cancelling creation of ender portal because portalForm disallows.");
event.setCancelled(true); event.setCancelled(true);
} }