1º Etapa: Vamos pegar o nosso arco customizado com a tag superflecha e um pequeno efeito no nome
give @a bow[minecraft:custom_data={superflecha:1b},minecraft:rarity=rare]
2º Etapa: Agora, precisamos colocar um bloco de comando Repeat como Always Active (Sempre Ativo) e o seguinte comando
execute as @e[type=arrow,nbt={inGround:0b},tag=!flecha] if items entity @p weapon.mainhand minecraft:bow[minecraft:custom_data={superflecha:1b}] run tag @s add flecha
Este comando vai detectar se a flecha ainda está no ar e se o jogador próximo tem o arco que criamos na mão
Caso ele esteja com este arco, a flecha que foi disparada vai receber uma tag
3º Etapa: Vamos detectar se a flecha com a tag recebida atingiu o chão para executar a nossa função
Coloque este comando em um bloco de comando Repeat como Always Active (Sempre Ativo)
execute at @e[type=arrow,tag=flecha,nbt={inGround:1b}] run function comandos:tnt_arrow
Caso você não saiba criar uma, veja este vídeo para aprender
Segue abaixo, os comandos da função que vai explodir instantaneamente uma tnt e remover a flecha para evitar tnt's infinitas
summon tnt ~ ~ ~ {fuse:0}
kill @e[tag=flecha]