Minecraft Wiki
(→‎Destroying blocks: clarification on explosion radius for blocks)
m (→‎Typical blast radii: blast radii -> damage radii)
Line 217: Line 217:
 
<br style="clear:both"/>
 
<br style="clear:both"/>
   
== Typical blast radii ==
+
== Typical damage radii ==
 
The player will get certain damage if within these radii of a 100% exposure ground 1-, 2-, or 4-TNT explosion, as shown in the following figures with the amount of damage shown on each circle.
 
The player will get certain damage if within these radii of a 100% exposure ground 1-, 2-, or 4-TNT explosion, as shown in the following figures with the amount of damage shown on each circle.
   

Revision as of 00:57, 13 May 2011

An explosion is a physical event in the Minecraft world, caused by a primed TNT, a (charged) creeper, or a fireball launched by Ghasts. An explosion can destroy nearby blocks, propel and damage nearby entities, and start fire.

Properties

  • Position. For example, A TNT explosion happens at the center of a primed TNT, which is a 0.98 × 0.98 × 0.98 cube.
  • Power. For the power of each type of explosion,
    • TNT explosion has 4;
    • creeper explosion has 3, or 6 when charged by lightning;
    • fireball explosion has 1.
  • Ability to generate fire. Currently only fireball explosion can start fire.
ExplosionRay

1352 rays from the explosion center to points that uniformly distributed on the surface of a cube centered at the explosion with an edge length of 2. (However, this only defines their directions, not their length)

Effects

Destroying blocks

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

  • Each ray has an initial blast force randomized in [0.7 × power, 1.3 × power].
  • The effect of the blast force is examined at checkpoints on the ray with step length of 0.3.
  • The blast force is absorbed (block resistance / 5 + 0.3) × step length by the non-air block (no matter whether destroyed) at the each checkpoint, and attenuated by step length × 0.75 between checkpoints, until completely absorbed or attenuated.
  • A block is considered destroyed if it can't completely absorb the blast force at any checkpoint in it (air blocks can be destroyed too).

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

  • 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 = 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 - attenuation steps × step length × 0.75) / step length - 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, stationary lava, obsidian, and bedrock are always indestructible, and fences and less resistant blocks can be destroyed by fireballs. These are theoretical values, and in reality less resistant blocks are not always destroyed.

Note that the effect of multiple explosions, no matter how simultaneous, on one block is evaluated independently and serially per explosion, and blocks don't have "temporary health" and such properties across explosion history. That means explosions have no cumulative effect on blocks.

Destroyed blocks have 30% chance of being dropped as items later.

Interaction with entities

An explosion has different effects on entities (the player, mobs, floating items, etc.) 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.

  • For each entity within the radius, define impact = (1 - distance from the explosion / radius) × exposure.
  • Apply (impact × impact + impact) × 8 × power + 1 point (half-heart, so we don't have to divide by 2 everywhere) of damage to the entity.
  • Propel the entity so that its velocity increases by impact in the direction from explosion to the entity.

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.

Different damage effects will ensue. For example, existing items will be destroyed, and the armor on the player will absorb part of the damage. Items dropped in the process of, or actually after, the explosion are not affected because they have no interaction between the explosion.

The propulsion effect is often used for TNT cannons.

TNTAABB

A primed TNT AABB has directionally asymmetrical sample points (1/2.96 spacing) because of rounding.

Calculation of explosion exposure

Explosion exposure is simply how much an entity is visible from the explosion center, and is approximated with the ratio of visible sample points on the entity. 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.

Causing fire

If the explosion has the ability, it is supposed to randomly start fire in 1/3 of all destroyed air blocks that are above opaque blocks. However, fireballs are actually unable to start fire because of a bug (still in Beta 1.5_01).

Blast Resistance

The data below is pulled from a running instance of Minecraft (Beta 1.5) and kept in a template. [edit]

Block Name Blast Resistance
Bedrock Template:Blast Resistance Values
Obsidian Template:Blast Resistance Values
Lava Template:Blast Resistance Values
Water Template:Blast Resistance Values
Brick (Block) Template:Blast Resistance Values
Cobblestone Template:Blast Resistance Values
Diamond (Block) Template:Blast Resistance Values
Gold (Block) Template:Blast Resistance Values
Iron (Block) Template:Blast Resistance Values
Jukebox Template:Blast Resistance Values
Moss Stone Template:Blast Resistance Values
Stone Stairs Template:Blast Resistance Values
Slabs Template:Blast Resistance Values
Stone Template:Blast Resistance Values
Iron Door Template:Blast Resistance Values
Monster Spawner Template:Blast Resistance Values
Dispenser Template:Blast Resistance Values
Furnace Template:Blast Resistance Values
Coal (Ore) Template:Blast Resistance Values
Diamond (Ore) Template:Blast Resistance Values
Wooden Door Template:Blast Resistance Values
Fence Template:Blast Resistance Values
Gold (Ore) Template:Blast Resistance Values
Iron (Ore) Template:Blast Resistance Values
Lapis Lazuli (Block) Template:Blast Resistance Values
Template:Blast Resistance Table
Block Name Blast Resistance
Lapis Lazuli (Ore) Template:Blast Resistance Values
Redstone (Ore) Template:Blast Resistance Values
Wooden Stairs Template:Blast Resistance Values
Wooden Plank Template:Blast Resistance Values
Chest Template:Blast Resistance Values
Crafting Table Template:Blast Resistance Values
Wood Template:Blast Resistance Values
Bookshelf Template:Blast Resistance Values
Jack-O-Lantern Template:Blast Resistance Values
Pumpkin Template:Blast Resistance Values
Sign Template:Blast Resistance Values
Note Block Template:Blast Resistance Values
Sandstone Template:Blast Resistance Values
Wool Template:Blast Resistance Values
Rails Template:Blast Resistance Values
Clay (Block) Template:Blast Resistance Values
Farming Template:Blast Resistance Values
Grass Template:Blast Resistance Values
Gravel Template:Blast Resistance Values
Cake Template:Blast Resistance Values
Dirt Template:Blast Resistance Values
Ice Template:Blast Resistance Values
Lever Template:Blast Resistance Values
Pressure Plates Template:Blast Resistance Values
Block Name Blast Resistance
Sand Template:Blast Resistance Values
Soul Sand Template:Blast Resistance Values
Stone Button Template:Blast Resistance Values
Cactus Template:Blast Resistance Values
Ladders Template:Blast Resistance Values
Netherrack Template:Blast Resistance Values
Glass Template:Blast Resistance Values
Glowstone (Block) Template:Blast Resistance Values
Bed Template:Blast Resistance Values
Leaves Template:Blast Resistance Values
Snow (Block) Template:Blast Resistance Values
Snow Template:Blast Resistance Values
Seeds (Item) Template:Blast Resistance Values
Flowers Template:Blast Resistance Values
Fire Template:Blast Resistance Values
Mushrooms Template:Blast Resistance Values
Portal Template:Blast Resistance Values
Redstone (Wire) Template:Blast Resistance Values
Redstone (Torch) Template:Blast Resistance Values
Redstone (Repeater) Template:Blast Resistance Values
Sugar Cane Template:Blast Resistance Values
Sapling Template:Blast Resistance Values
TNT Template:Blast Resistance Values
Torch Template:Blast Resistance Values
Air Template:Blast Resistance Values


Typical damage radii

The player will get certain damage if within these radii of a 100% exposure ground 1-, 2-, or 4-TNT explosion, as shown in the following figures with the amount of damage shown on each circle.

KillRadiiGrenade1 KillRadiiGrenade2 KillRadiiGrenade4