Minecraft – Summon TNT at arrow after hitting object

minecraft-bedrock-editionminecraft-commands

I am creating a custom PVP map, where all arrows explode after they hit something. For example, if an arrow hits a block or a non-TNT entity, a TNT is summoned at that location. Here is the command I tried:

Repeating command block, always active:

/execute @e[type=arrow] ~ ~ ~ summon tnt ~ ~ ~

However, when the arrow is shot, TNT spawns wherever the arrow is, creating a disaster. How do I fix this?

Note: If an instant-explosion is possible, I prefer that, but if not, that is okay as well.

Best Answer

In bedrock edition, you can not detect if an arrow is in the ground, but you can detect if a certain block is under it. You would use a different repeating command block for every possible block it could land on. If your were on a riverbank, it could land on either grass or sand, so it would look like this:

#1: execute @e[type=arrow] ~ ~ ~ detect ~ ~-1 ~ grass 0 summon tnt ~ ~ ~

#2: execute @e[type=arrow] ~ ~ ~ detect ~ ~-1 ~ sand 0 summon tnt ~~~