-
Bug
-
Resolution: Fixed
-
Minecraft 1.7.10, Minecraft 14w32a
-
None
-
Unconfirmed
NOTE: this is one of several "TNT bias" bugs that exists or has existed, and I don't believe this particular one has been reported yet.
The force that an explosion exerts on an entity is attenuated by blocks between the explosion and the entity. This attenuation is based on an estimate of the portion of the entity that is visible from the center of the explosion. This portion is estimated by tracing rays from the explosion to each point in an evenly spaced grid within the entity.
The problem is that the grid of sample points is not symmetrical about the entity's center. As a result, the force of an explosion on an entity that is partially obstructed by blocks can be different depending only on the direction the explosion comes from.
This becomes very noticeable with TNT cannons. The sample points on a TNT entity are shown in the first attached image. If a TNT entity is resting on a solid block, an explosion below and to the side of it will have a very different effect depending on which side it's on. The ultimate effect is that many common TNT cannons will shoot farther if they are aimed in a positive direction (south or east).
The SportBukkit patch below fixes the bug by shifting the sample points horizontally so they are centered on the entity, as illustrated in the second image. This fix eliminates the directionality while having a minimal effect on gameplay. Other changes, such as stretching the grid, and shifting it vertically, were found to have unwanted side-effects on gameplay.