@EventHandler(priority = EventPriority.HIGHEST)
  public void onPlayerPortal(PlayerPortalEvent event) {
    if (event.isCancelled()) return;

    final Player player = event.getPlayer();

    if (player.getWorld() != plugin.getIslandWorld()) return;
    if (player.isOp()) return;
    if (player.hasPermission("islandworld.bypass.island")) return;

    if (!(plugin.getConfig().getBoolean("flags.use-portal", false)
        || plugin.canBuildOnLocation(player, event.getFrom()))) event.setCancelled(true);

    plugin.debug("Event :" + event.getEventName() + ", cancelled:" + event.isCancelled());
  }