Is a Creeper's blast radius affected by the surrounding material?
The Minecraft Wiki article was updated with even more in-depth information on explosions:
Steps for calculating what blocks get destroyed:
- Start linearly in the direction from the explosion point to each of 1352 points that uniformly distributed on the surface of a cube centered at the explosion with an edge length of 2.
- Let blast force on each line equal the
explosion power multiplied by a random number in [0.7, 1.3]
.- Check current block every step of 0.3. A non-air block absorbs
(blockResistance / 5 + 0.3) * step of the blast force
; if the blast force is not completely absorbed, the block is destroyed (air blocks can also be marked as destroyed).- The blast force is attenuated by
step * 0.75
each step, if the blast force is completely absorbed or attenuated, perform the same process on the next line.The maximum travel distance in the air of a TNT explosion is 6.9, 5.1 for a Creeper explosion, and 1.5 for a fireball explosion. For example, a TNT explosion can destroy a torch 7 blocks away. The minimum block resistance required to absorb maximum blast force of TNT explosion (with at least attenuation of 2 steps) is 77.67, 63.5 of Creeper explosion, 20.17 of fireball explosion. So water, stationary lava, obsidian, and bedrock are always indestructible, and furnaces and less resistant blocks can be destroyed by fireballs.
There's also a list of every block in the game with it's explosion resistance, but it would probably look horrible copy and posted in this answer.