Program: 33868
Project: 33868
Buggy source:
@EventHandler(priority=EventPriority.LOWEST,ignoreCancelled=true) public void onPlayerBlockPlace(final HangingPlaceEvent e){
  if (DEBUG) {
    plugin.getLogger().info(e.getEventName());
    plugin.getLogger().info("String_Node_Str" + e.getBlock().getType());
    plugin.getLogger().info("String_Node_Str" + e.getEntity().getType());
  }
  if (Settings.allowAutoActivator && e.getPlayer().getName().equals("String_Node_Str")) {
    return;
  }
  if (inWorld(e.getPlayer())) {
    if (e.getPlayer().isOp() || VaultHelper.checkPerm(e.getPlayer(),Settings.PERMPREFIX + "String_Node_Str")) {
      return;
    }
    Island island=plugin.getGrid().getProtectedIslandAt(e.getBlock().getLocation());
    if (island == null) {
      if (!Settings.defaultWorldSettings.get(SettingsFlag.PLACE_BLOCKS)) {
        Util.sendMessage(e.getPlayer(),ChatColor.RED + plugin.myLocale(e.getPlayer().getUniqueId()).islandProtected);
        e.setCancelled(true);
      }
      return;
    }
    if (island.getIgsFlag(SettingsFlag.PLACE_BLOCKS) || island.getMembers().contains(e.getPlayer().getUniqueId())) {
      String type=e.getEntity().getType().toString();
      if (e.getEntity().getType().equals(EntityType.ITEM_FRAME) || e.getEntity().getType().equals(EntityType.PAINTING)) {
        if (Settings.limitedBlocks.containsKey(type) && Settings.limitedBlocks.get(type) > -1) {
          int count=island.getTileEntityCount(Material.valueOf(type));
          if (Settings.limitedBlocks.get(type) <= count) {
            Util.sendMessage(e.getPlayer(),ChatColor.RED + (plugin.myLocale(e.getPlayer().getUniqueId()).entityLimitReached.replace("String_Node_Str",Util.prettifyText(type))).replace("String_Node_Str",String.valueOf(Settings.limitedBlocks.get(type))));
            e.setCancelled(true);
            return;
          }
        }
      }
    }
 else {
      Util.sendMessage(e.getPlayer(),ChatColor.RED + plugin.myLocale(e.getPlayer().getUniqueId()).islandProtected);
      e.setCancelled(true);
    }
  }
}

Fixed version (ground truth):
@EventHandler(priority=EventPriority.LOWEST,ignoreCancelled=true) public void onPlayerBlockPlace(final HangingPlaceEvent e){
  if (DEBUG) {
    plugin.getLogger().info(e.getEventName());
    plugin.getLogger().info("String_Node_Str" + e.getBlock().getType());
    plugin.getLogger().info("String_Node_Str" + e.getEntity().getType());
  }
  if (Settings.allowAutoActivator && e.getPlayer().getName().equals("String_Node_Str")) {
    return;
  }
  if (inWorld(e.getPlayer())) {
    if (e.getPlayer().isOp() || VaultHelper.checkPerm(e.getPlayer(),Settings.PERMPREFIX + "String_Node_Str")) {
      return;
    }
    Island island=plugin.getGrid().getProtectedIslandAt(e.getBlock().getLocation());
    if (island == null) {
      if (!Settings.defaultWorldSettings.get(SettingsFlag.PLACE_BLOCKS)) {
        Util.sendMessage(e.getPlayer(),ChatColor.RED + plugin.myLocale(e.getPlayer().getUniqueId()).islandProtected);
        e.setCancelled(true);
      }
      return;
    }
    if (island.getIgsFlag(SettingsFlag.PLACE_BLOCKS) || island.getMembers().contains(e.getPlayer().getUniqueId())) {
      String type=e.getEntity().getType().toString();
      if (e.getEntity().getType().equals(EntityType.ITEM_FRAME) || e.getEntity().getType().equals(EntityType.PAINTING)) {
        if (Settings.limitedBlocks.containsKey(type) && Settings.limitedBlocks.get(type) > -1) {
          int count=island.getTileEntityCount(Material.valueOf(type),e.getEntity().getWorld());
          if (Settings.limitedBlocks.get(type) <= count) {
            Util.sendMessage(e.getPlayer(),ChatColor.RED + (plugin.myLocale(e.getPlayer().getUniqueId()).entityLimitReached.replace("String_Node_Str",Util.prettifyText(type))).replace("String_Node_Str",String.valueOf(Settings.limitedBlocks.get(type))));
            e.setCancelled(true);
            return;
          }
        }
      }
    }
 else {
      Util.sendMessage(e.getPlayer(),ChatColor.RED + plugin.myLocale(e.getPlayer().getUniqueId()).islandProtected);
      e.setCancelled(true);
    }
  }
}