Explosion

An explosion is a physical event, generally destructive, that can be caused by several different circumstances. It can destroy nearby blocks, propel and damage nearby players, entities, and their armor, and cause one or more fires. Explosions produce a "shockwave" particle effect.

Multiple close explosions may propel objects further, but have no cumulative effect on the destruction of a block. This is because explosions' damage to blocks is evaluated individually (per explosion), and blocks' blast resistance does not become "weakened" per explosion.

"Destroyed" blocks have a chance of dropping as collectible resources (and otherwise disappear), and this chance is one divided by the explosion power. So, a creeper blast (uncharged) will have a 1/3 chance of dropping a block.

The propulsion effect of explosions is often used for TNT cannons.

Model of block destruction


An explosion can destroy nearby blocks. Its blast effect is evaluated independently on many explosion rays originating from the explosion center, as shown in the right figure.


 * 1) A cube around the explosion is divided into a 16x16x16 grid, and rays are created from the center to each outer point of this grid
 * 2) Each ray is given an intensity, calculated as (0.7 + [a random value from 0 to 0.6]) * [power]
 * 3) For every 0.3 blocks along the ray, the intensity of the ray decays/is attenuated by 0.3×0.75 (0.225), and the block it passes through absorbs/reduces it by ([blast resistance/5]+0.3)×0.3
 * 4) The ray destroys all blocks that could not end the ray at any checkpoint

From the above process, the following results can be deduced (where ⌊ x ⌋ is the floor function):


 * The blast radius in the air of an explosion (i.e. only attenuated, not absorbed by blocks) = ⌊1.3 × power /( step length × 0.75)⌋ × step length (.3) == 10.2 (charged creepers), 6.9 (TNT), 5.1 (creepers), 1.5 (fireballs). For example, a TNT explosion can destroy a torch 7 blocks away. But how many blocks an explosion can destroy is non-deterministic and also dependent on the specific location of the explosion.
 * The minimum block resistance required to absorb maximum blast force of an explosion happening in nearby air = ((1.3 × power &minus; attenuation steps × step length × 0.75)/ step length &minus; 0.3) × 5. To not be destroyed, a block has to absorb all blast force at the first checkpoint in it.
 * The attenuation steps is subject to collision restrictions. For explosion in air, there is at least one attenuation step. TNT and creeper explosion are always 0.49 and 0.5 meter away from nearest block (2 att. steps), but fireball explosion can happen anywhere (1 att. step).
 * Thus, the block resistances are 121.00 (charged creepers), 77.67 (TNT), 56.00 (creepers), 16.42 (fireballs).
 * So water, lava (Note: Only the stationary block) obsidian, and bedrock are always indestructible, and fences and less blast-resistant blocks can be destroyed by fireballs. These are theoretical values, and in reality less resistant blocks are not always destroyed, and since Minecraft is supposed to be simple, there is no such mechanic.

Interaction with entities
An explosion has different effects on entities than blocks. Entities are damaged and propelled by an explosion if within its damage radius of 2 × power. Note that the "damage radius" is different from the blast radius of explosion effect on blocks.
 * 1) For every entity within a 2×[power] block sphere of the explosion center, the impact is (1-[distance from explosion/power/2])×[exposure] (see section below on exposure)
 * 2) The entity is damaged by (impact×impact+impact)×8×power+1 (armor enchantments for damage are handled separately)
 * 3) After damage, exposure is reduced by (exposure×[max blast protection from all armor]×0.15)
 * 4) The entity's eyes are propelled along the ray from the explosion center by the new exposure

From the above process, the following results can be deduced:


 * Entities will always get at least 1 point of damage if they are within the radius, regardless of their explosion exposure.
 * The maximum damage that entities can take (at the explosion center with 100% exposure) = (1 × 1 + 1) × 8 × power + 1 point of damage = 97 (charged creeper), 65 (TNT), 49 (creepers), 17 (fireballs). When entities are away or covered by blocks from the explosion center, they take less damage.
 * The maximum velocity gain that an entity can obtain from a TNT explosion is 1, at the explosion center with 100% exposure.



Calculation of explosion exposure
The approximation algorithm has sampling error that results in directional asymmetry of propulsion. For example, a typical TNT Cannon has maximum range in the west direction partly because the primed TNT has largest sampled exposure in that direction.
 * 1) The entity's bounding box is divided into a [2*width+1] by [2*height+1] by [2*depth+1] grid of unequally spaced points
 * 2) A ray is drawn from the explosion center to each point
 * 3) The exposure of the entity is the percentage of these rays that are unobstructed

Causing fire
If the explosion has the ability, it randomly starts fires in ⅓ of all destroyed air blocks that are above opaque blocks.

Permanent lag
Permanent lag is essentially lag-fallout from an explosion, this consists of drops, liquid-physics, and increased render-complexity of the crater. Technically the drops will disappear after 5 minutes, however that's 5 in-game minutes which may take a long time to process during extreme lag.

It is recommended that when making a large creative-mode explosion, one uses the command "/gamerule doTileDrops false" to stop drops from being generated by explosions. If you are using 1.8 or higher the code "/kill @e[type=Item]" will destroy all drops, however in 1.7 or earlier the same code will just kill the player.

Blast resistance
edit values

Typical damage radius
The player will receive damage, if within these radii of a 100% exposure ground 1-, 2-, or 4-TNT explosion, with the amount of damage labeled on each circle in the figures below.



Trivia

 * Explosions more powerful than 100 look mostly the same from the outside, as only certain lines are used to determine if a block breaks. However, some of those lines continue underground.
 * An explosion powerful enough to break bedrock would have a blast radius of over 30,000,000 blocks. If it were an uninterrupted blast, it would cover 238,775,501.2 blocks. However, explosions only follow certain lines, not every block (see previous).
 * Any explosion going off in flowing water or lava will apply propulsion to entities, but it will not affect any block, whether the blast resistance of that block is low or high.
 * Explosions in or under water won't emit particles.
 * Explosions can redirect projectiles including Ender Pearls.
 * Explosions can break blocks on the other side of blast-resistant blocks that survive.
 * Explosions will propel dead mobs' bodies if they go off just after the mobs dies.
 * If primed TNT explodes in a large, solid cube of stone blocks, it will create an exact 3x3x3 cube inside.
 * Experimentation confirms that a TNT detonation will cause a 3x3 hole in a solid block of anything with a blast resistance less than that of water, but more than 12.5 (e.g. crafting tables). This implies that 3x3 is the minimum possible result of a TNT detonation without the blast being resisted altogether.
 * If a Falling Sand entity falls into Primed TNT when in water, it will do block damage.
 * In Minecraft Pocket Edition, if you break 2 blocks in the center of a 3x3 square, and place TNT in the middle, it will almost always make a 3x3x3 hole, granted that no dirt, gravel, or bedrock is around.