Program: 34038
Project: 34038
Buggy source:
/** 
 * This method protects players from PVP if it is not allowed and from arrows fired by other players
 * @param e
 */
@EventHandler(priority=EventPriority.LOW,ignoreCancelled=true) public void onEntityDamage(final EntityDamageByEntityEvent e){
  if (debug) {
    plugin.getLogger().info(e.getEventName());
    plugin.getLogger().info("String_Node_Str" + e.getDamager().toString());
    plugin.getLogger().info("String_Node_Str" + e.getEntityType());
  }
  Island island=plugin.getGrid().getProtectedIslandAt(e.getEntity().getLocation());
  if (e.getDamager() instanceof EnderPearl && e.getEntity() != null && e.getEntity() instanceof Player) {
    Player p=(Player)e.getEntity();
    if (island == null) {
      if (Settings.allowEnderPearls) {
        return;
      }
    }
 else {
      if (island.isSpawn()) {
        if (Settings.allowEnderPearls) {
          return;
        }
      }
 else {
        if (island.getIgsFlag(Flags.allowEnderPearls)) {
          return;
        }
      }
    }
    p.sendMessage(ChatColor.RED + plugin.myLocale(p.getUniqueId()).islandProtected);
    e.setCancelled(true);
    return;
  }
  if (!inWorld(e.getEntity())) {
    return;
  }
  boolean inNether=false;
  if (e.getEntity().getWorld().equals(ASkyBlock.getNetherWorld())) {
    inNether=true;
  }
  if (!Settings.allowTNTDamage && e.getDamager().getType().equals(EntityType.PRIMED_TNT)) {
    e.setCancelled(true);
    return;
  }
  if (!Settings.allowCreeperDamage && e.getDamager().getType().equals(EntityType.CREEPER) && !(e.getEntity() instanceof Player)) {
    e.setCancelled(true);
    return;
  }
  if (e.getDamager() instanceof Player) {
    Player p=(Player)e.getDamager();
    if (p.isOp() || VaultHelper.checkPerm(p,Settings.PERMPREFIX + "String_Node_Str")) {
      return;
    }
  }
  Player attacker=null;
  if (e.getDamager() instanceof Player) {
    attacker=(Player)e.getDamager();
  }
 else   if (e.getDamager() instanceof Projectile) {
    Projectile p=(Projectile)e.getDamager();
    if (p.getShooter() instanceof Player) {
      attacker=(Player)p.getShooter();
    }
  }
  if (attacker == null) {
    return;
  }
  if (e.getEntity() instanceof Player && attacker.equals((Player)e.getEntity())) {
    if (debug)     plugin.getLogger().info("String_Node_Str");
    return;
  }
  if (e.getEntity() instanceof ItemFrame || e.getEntityType().toString().endsWith("String_Node_Str")) {
    if (island == null) {
      if (!Settings.allowBreakBlocks) {
        attacker.sendMessage(ChatColor.RED + plugin.myLocale(attacker.getUniqueId()).islandProtected);
        e.setCancelled(true);
      }
      return;
    }
    if (Settings.allowSpawnBreakBlocks && island.isSpawn()) {
      return;
    }
    if (island.getIgsFlag(Flags.allowBreakBlocks) || island.getMembers().contains(attacker.getUniqueId())) {
      return;
    }
    attacker.sendMessage(ChatColor.RED + plugin.myLocale(attacker.getUniqueId()).islandProtected);
    e.setCancelled(true);
    return;
  }
  if (e.getEntity() instanceof Monster || e.getEntity() instanceof Slime || e.getEntity() instanceof Squid) {
    if (island == null) {
      return;
    }
    if (Settings.allowHurtMonsters || island.getMembers().contains(attacker.getUniqueId())) {
      return;
    }
    attacker.sendMessage(ChatColor.RED + plugin.myLocale(attacker.getUniqueId()).islandProtected);
    e.setCancelled(true);
    return;
  }
  if (e.getEntity() instanceof Animals || e.getEntity() instanceof IronGolem || e.getEntity() instanceof Snowman|| e.getEntity() instanceof Villager) {
    if (island == null) {
      return;
    }
    if (island.isSpawn() && Settings.allowSpawnAnimalKilling) {
      return;
    }
    if (island.getIgsFlag(Flags.allowHurtMobs) || island.getMembers().contains(attacker.getUniqueId())) {
      return;
    }
    attacker.sendMessage(ChatColor.RED + plugin.myLocale(attacker.getUniqueId()).islandProtected);
    e.setCancelled(true);
    return;
  }
  boolean pvp=false;
  if (island == null) {
    if ((inNether && Settings.allowNetherPvP) || (!inNether && Settings.allowPvP)) {
      if (debug)       plugin.getLogger().info("String_Node_Str");
      pvp=true;
    }
  }
 else {
    if (island.isSpawn() && Settings.allowSpawnPVP) {
      pvp=true;
    }
 else     if ((inNether && island.getIgsFlag(Flags.allowNetherPvP) || (!inNether && island.getIgsFlag(Flags.allowPvP)))) {
      if (debug)       plugin.getLogger().info("String_Node_Str");
      pvp=true;
    }
  }
  if (e.getEntity() instanceof Player) {
    if (pvp) {
      return;
    }
 else {
      attacker.sendMessage(ChatColor.RED + plugin.myLocale(attacker.getUniqueId()).targetInNoPVPArea);
      e.setCancelled(true);
      return;
    }
  }
}

Fixed version (ground truth):
/** 
 * This method protects players from PVP if it is not allowed and from arrows fired by other players
 * @param e
 */
@EventHandler(priority=EventPriority.LOW,ignoreCancelled=true) public void onEntityDamage(final EntityDamageByEntityEvent e){
  if (debug) {
    plugin.getLogger().info(e.getEventName());
    plugin.getLogger().info("String_Node_Str" + e.getDamager().toString());
    plugin.getLogger().info("String_Node_Str" + e.getEntityType());
  }
  Island island=plugin.getGrid().getProtectedIslandAt(e.getEntity().getLocation());
  if (e.getDamager() instanceof EnderPearl && e.getEntity() != null && e.getEntity() instanceof Player) {
    Player p=(Player)e.getEntity();
    if (island == null) {
      if (Settings.allowEnderPearls) {
        return;
      }
    }
 else {
      if (island.isSpawn()) {
        if (Settings.allowEnderPearls) {
          return;
        }
      }
 else {
        if (island.getIgsFlag(Flags.allowEnderPearls) || island.getMembers().contains(p.getUniqueId())) {
          return;
        }
      }
    }
    p.sendMessage(ChatColor.RED + plugin.myLocale(p.getUniqueId()).islandProtected);
    e.setCancelled(true);
    return;
  }
  if (!inWorld(e.getEntity())) {
    return;
  }
  boolean inNether=false;
  if (e.getEntity().getWorld().equals(ASkyBlock.getNetherWorld())) {
    inNether=true;
  }
  if (!Settings.allowTNTDamage && e.getDamager().getType().equals(EntityType.PRIMED_TNT)) {
    e.setCancelled(true);
    return;
  }
  if (!Settings.allowCreeperDamage && e.getDamager().getType().equals(EntityType.CREEPER) && !(e.getEntity() instanceof Player)) {
    e.setCancelled(true);
    return;
  }
  if (e.getDamager() instanceof Player) {
    Player p=(Player)e.getDamager();
    if (p.isOp() || VaultHelper.checkPerm(p,Settings.PERMPREFIX + "String_Node_Str")) {
      return;
    }
  }
  Player attacker=null;
  if (e.getDamager() instanceof Player) {
    attacker=(Player)e.getDamager();
  }
 else   if (e.getDamager() instanceof Projectile) {
    Projectile p=(Projectile)e.getDamager();
    if (p.getShooter() instanceof Player) {
      attacker=(Player)p.getShooter();
    }
  }
  if (attacker == null) {
    return;
  }
  if (e.getEntity() instanceof Player && attacker.equals((Player)e.getEntity())) {
    if (debug)     plugin.getLogger().info("String_Node_Str");
    return;
  }
  if (e.getEntity() instanceof ItemFrame || e.getEntityType().toString().endsWith("String_Node_Str")) {
    if (island == null) {
      if (!Settings.allowBreakBlocks) {
        attacker.sendMessage(ChatColor.RED + plugin.myLocale(attacker.getUniqueId()).islandProtected);
        e.setCancelled(true);
      }
      return;
    }
    if (Settings.allowSpawnBreakBlocks && island.isSpawn()) {
      return;
    }
    if (island.getIgsFlag(Flags.allowBreakBlocks) || island.getMembers().contains(attacker.getUniqueId())) {
      return;
    }
    attacker.sendMessage(ChatColor.RED + plugin.myLocale(attacker.getUniqueId()).islandProtected);
    e.setCancelled(true);
    return;
  }
  if (e.getEntity() instanceof Monster || e.getEntity() instanceof Slime || e.getEntity() instanceof Squid) {
    if (island == null) {
      return;
    }
    if (Settings.allowHurtMonsters || island.getMembers().contains(attacker.getUniqueId())) {
      return;
    }
    attacker.sendMessage(ChatColor.RED + plugin.myLocale(attacker.getUniqueId()).islandProtected);
    e.setCancelled(true);
    return;
  }
  if (e.getEntity() instanceof Animals || e.getEntity() instanceof IronGolem || e.getEntity() instanceof Snowman|| e.getEntity() instanceof Villager) {
    if (island == null) {
      return;
    }
    if (island.isSpawn() && Settings.allowSpawnAnimalKilling) {
      return;
    }
    if (island.getIgsFlag(Flags.allowHurtMobs) || island.getMembers().contains(attacker.getUniqueId())) {
      return;
    }
    attacker.sendMessage(ChatColor.RED + plugin.myLocale(attacker.getUniqueId()).islandProtected);
    e.setCancelled(true);
    return;
  }
  boolean pvp=false;
  if (island == null) {
    if ((inNether && Settings.allowNetherPvP) || (!inNether && Settings.allowPvP)) {
      if (debug)       plugin.getLogger().info("String_Node_Str");
      pvp=true;
    }
  }
 else {
    if (island.isSpawn() && Settings.allowSpawnPVP) {
      pvp=true;
    }
 else     if ((inNether && island.getIgsFlag(Flags.allowNetherPvP) || (!inNether && island.getIgsFlag(Flags.allowPvP)))) {
      if (debug)       plugin.getLogger().info("String_Node_Str");
      pvp=true;
    }
  }
  if (e.getEntity() instanceof Player) {
    if (pvp) {
      return;
    }
 else {
      attacker.sendMessage(ChatColor.RED + plugin.myLocale(attacker.getUniqueId()).targetInNoPVPArea);
      e.setCancelled(true);
      return;
    }
  }
}