Program: 86055
Project: 86055
Buggy source:
@EventHandler public void onBlockBreak(BlockBreakEvent event){
  Player p=event.getPlayer();
  if (pli.global_players.containsKey(p.getName())) {
    Arena a=pli.global_players.get(p.getName());
    if (a.getArenaState() != ArenaState.INGAME || pli.global_lost.containsKey(p.getName())) {
      event.setCancelled(true);
      return;
    }
    if (pli.getSpectatorManager().isSpectating(p)) {
      event.setCancelled(true);
      return;
    }
    a.getSmartReset().addChanged(event.getBlock(),event.getBlock().getType().equals(Material.CHEST));
    if (event.getBlock().getType() == Material.DOUBLE_PLANT) {
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,-1D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,+1D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
    }
    if (event.getBlock().getType() == Material.CARPET) {
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,+3D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,+2D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,+1D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
    }
    if (event.getBlock().getType() == Material.CACTUS) {
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,+4D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,+3D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,+2D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,+1D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
    }
  }
  if (event.getBlock().getType() == Material.SIGN_POST || event.getBlock().getType() == Material.WALL_SIGN) {
    Arena arena=Util.getArenaBySignLocation(plugin,event.getBlock().getLocation());
    if (arena != null) {
      pli.getArenasConfig().getConfig().set("String_Node_Str" + arena.getInternalName() + "String_Node_Str",null);
      pli.getArenasConfig().saveConfig();
    }
  }
}

Fixed version (ground truth):
@EventHandler public void onBlockBreak(BlockBreakEvent event){
  Player p=event.getPlayer();
  if (pli.global_players.containsKey(p.getName())) {
    Arena a=pli.global_players.get(p.getName());
    if (a.getArenaState() != ArenaState.INGAME || pli.global_lost.containsKey(p.getName())) {
      event.setCancelled(true);
      return;
    }
    if (pli.getSpectatorManager().isSpectating(p)) {
      event.setCancelled(true);
      return;
    }
    a.getSmartReset().addChanged(event.getBlock(),event.getBlock().getType().equals(Material.CHEST));
    if (event.getBlock().getType() == Material.DOUBLE_PLANT) {
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,-1D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,+1D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
    }
    if (event.getBlock().getType() == Material.SNOW || event.getBlock().getType() == Material.SNOW_BLOCK) {
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,+3D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,+2D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,+1D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
    }
    if (event.getBlock().getType() == Material.CARPET) {
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,+3D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,+2D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,+1D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
    }
    if (event.getBlock().getType() == Material.CACTUS) {
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,+4D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,+3D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,+2D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
      a.getSmartReset().addChanged(event.getBlock().getLocation().clone().add(0D,+1D,0D).getBlock(),event.getBlock().getType().equals(Material.CHEST));
    }
  }
  if (event.getBlock().getType() == Material.SIGN_POST || event.getBlock().getType() == Material.WALL_SIGN) {
    Arena arena=Util.getArenaBySignLocation(plugin,event.getBlock().getLocation());
    if (arena != null) {
      pli.getArenasConfig().getConfig().set("String_Node_Str" + arena.getInternalName() + "String_Node_Str",null);
      pli.getArenasConfig().saveConfig();
    }
  }
}