Skip to main content

Disabling explosion damage

Method Comparison​

Choose controls by the damage path. Native entity/projectile explosions use Bukkit’s EntityExplodeEvent; the EliteMobs WorldGuard block-damage flag clears that event’s block list for tracked elites/projectiles. Fake explosions and arbitrary scripted block edits can change blocks directly. Regeneration repairs queued damage and is not general block protection.

Disabling block damage​

Using gamerule​

/gamerule mobGriefing false controls vanilla mob griefing. It does not intercept arbitrary block changes made directly by a plugin or script.

Using WorldGuard​

With both EliteMobs and WorldGuard installed, set elitemobs-explosion-block-damage to deny in the region. This protects against the tracked native explosion event path described above. It does not intercept arbitrary Lua/EliteScript block edits or every fake-explosion call. Test the actual power you intend to use in the protected area.

Stopping EliteMobs fireballs from damaging blocks​

Built-in powers are Lua scripts under plugins/EliteMobs/powers/. Their premade registry entries are reapplied after custom discovery, so adding an isEnabled: false YAML metadata file is not a built-in-power disable switch. Remove unwanted powers from boss definitions and the natural-spawn pools in EliteMobPowers.yml. For a custom Lua power, same-stem YAML metadata can disable loading; see standalone Lua powers. To keep an explosion power active while protecting terrain, choose controls based on whether it uses a tracked native projectile explosion or direct block edits.

Configuring EliteMobs Explosion Regeneration​

Edit plugins/EliteMobs/config.yml. With regeneration enabled (the default), queued blocks begin repairing after about one minute; exclusions and regional regeneration flags still apply.

When the handler takes an explosion from an elite, a tracked projectile or a fake explosion, EliteMobs removes the blocks itself and clears the native explosion's block list, so only the blocks it recorded are destroyed. A plugin that cancels the EliteExplosionEvent cancels the whole explosion's block damage.

Repairs restore one block per tick, lowest blocks first. An entity standing inside a block being restored is lifted on top of it; if that path is blocked, the repair waits and tries again on the next tick. When a world unloads, EliteMobs first restores its pending blocks at once; if some still cannot be placed, the unload is cancelled. Instanced dungeon worlds that are being deleted skip this step.

  • doExplosionRegen: Set to false to disable this regeneration handler. Native explosions can still destroy blocks without repair. Fake/scripted explosions using this handler return before their direct block removal.
  • doRegenerateContainers: Set to false to leave containers out of explosions the handler takes, so they are neither destroyed nor restored. When the handler is bypassed, for example with doExplosionRegen: false or the elitemobs-explosion-regen flag set to deny, native explosions can still destroy containers.

Other Explosion/Fire Powers​

EliteMobs ships several other powers that cause explosions or fire. These are Lua scripts in the plugins/EliteMobs/powers/ folder:

Ender Dragon Powers:

  • ender_dragon_aimed_fireball.lua
  • ender_dragon_disco_fireballs.lua
  • ender_dragon_fireball_bombardment.lua
  • ender_dragon_ender_fireball_bombardment.lua

Other Explosion Powers:

  • gold_explosion.lua
  • arrow_fireworks.lua
  • fireworks_barrage.lua

Fire-based Powers:

  • firestorm.lua
  • flame_pyre.lua
  • flamethrower.lua
  • attack_fire.lua

Inspect each power's script before selecting a protection rule. Enabling regeneration does not prevent initial block damage, and changing one power does not change unrelated scripts that produce similar effects.

Regional Explosion Control (WorldGuard Required)​

Install both plugins and create a WorldGuard region covering the intended area. For tracked native explosions, run:

/region flag <region-name> elitemobs-explosion-block-damage deny

Troubleshooting​

Check the exact power and whether it uses the native event or edits blocks directly. For native events, confirm the region covers the explosion and the flag is denied; check that both plugins loaded. For missing repairs, check doExplosionRegen, regeneration flags and container exclusions. Do not use successful repairs as evidence that block damage was prevented.