TnT destroying diamond blocks and other types in blast radius

Issue #19 invalid
Jake Hogan created an issue

TnT blocks can destroy diamond blocks and, when they do so, act on all nearby blocks as if protection was turned off.

Reproduce:

1) Place one or more diamond blocks within the blast radius of TnT 2) Light the TnT 3) Observe

The diamond blocks are destroyed and any other block in the radius of the explosion is acted upon in accordance to vanilla TnT damage rules. This does not appear to affect anything without a diamond block present.

Edit: Every block that can be destroyed by TnT in vanilla is destructible under these conditions and no block other than diamond block triggers this destruction (tested on literally every type of block and place-able entity.

TnT minecarts do the same thing. Ghasts in the Nether have this effect, but not in the overworld. Creepers are unaffected in either world.

Edit 2: Beds in the end also break blocks under these conditions

Comments (6)

  1. Stefan Steinheimer

    Of course it does, it spawns activated TNT and immediately causes it to explode. The problem is, I have no idea why. FishyShield's explosion handling is very simple: it gets a list of affected blocks from Canary and removes every block except TNT from that list, which causes Canary to leave them alone when calculating the explosion damage. It doesn't know about diamond blocks or beds, neither does it care about the world in which the explosion happens, except to check if explosions are allowed there at all. I'm quite sure that the bug is not in FishyShield, but that the onExplosion hook is not called at all in these circumstances for reasons that I can't even begin to imagine, or that Canary tells FishyShield that every block in the world is made out of TNT, as soon as a diamond block is around... Very odd and very interesting.

    Alas, I'm still living in a bit of a chaos of boxes here, and between work, baby, baby related paperwork, and getting the apartment in order there isn't much time left for actually testing what's going on here :(

  2. Log in to comment