public void onEntityExplode(EntityExplodeEvent event) { // protect zones elements, lobbies and warhub from creepers List<Block> explodedBlocks = event.blockList(); for (Block block : explodedBlocks) { if (war.getWarHub() != null && war.getWarHub().getVolume().contains(block)) { event.setCancelled(true); war.logInfo("Explosion prevented at warhub."); return; } for (Warzone zone : war.getWarzones()) { if (zone.isImportantBlock(block)) { event.setCancelled(true); war.logInfo("Explosion prevented in zone " + zone.getName() + "."); return; } else if (zone.getLobby() != null && zone.getLobby().getVolume().contains(block)) { event.setCancelled(true); war.logInfo("Explosion prevented at zone " + zone.getName() + " lobby."); return; } } } }