@EventHandler(priority = EventPriority.LOW) 
  public void onExplosionEvent(final EntityExplodeEvent event) {

    Location eventLocation = event.getLocation();



    if (plugin.Blast_Mode.containsKey(eventLocation)) {

      Integer BlastMode = plugin.Blast_Mode.get(eventLocation);
      if (BlastMode == 0) {
        // GET BLOCKS EFFECT BY AN EXPLOSION
        List<Block> blockList = event.blockList();
        int len = blockList.size();
        // FOR EVERY BLOCK EFFECTED BY EXPLOSION
        for(int i = 0; i < len; i++) {
          // remove block from damage list
          blockList.remove(i);
          i--;
          len--;
        }

      } else if (BlastMode == 1) {
        // GET BLOCKS EFFECT BY AN EXPLOSION
        List<Block> blockList = event.blockList();
        int len = blockList.size();
        // FOR EVERY BLOCK EFFECTED BY EXPLOSION
        for(int i = 0; i < len; i++) {
          // remove block from damage list
          blockList.remove(i);
          i--;
          len--;
        }

      } else if (BlastMode == 2) {
        // DO NOTHING
      } else if (BlastMode == 3) {
        // NO DAMAGE PLAYER and then...
        event.setYield(0);
      } else if (BlastMode == 4) {
        event.setYield(0);
      }
    }

  }