advancement revoke @s only minecraft:suhc/tntcrossbow
#execute at @s run summon armor_stand ~ ~1 ~ {Tags:["SuperBloodBolt"],NoGravity:1b,Invulnerable:1b,Marker:1b,Invisible:1b}
#execute at @s run tp @e[type=armor_stand,limit=1,sort=nearest,tag=BloodBolt] ~ ~1 ~ ~ ~

execute as @s[nbt={Inventory:[{id:"minecraft:tnt"}]}] run function zzzzdonotuse:advancements/tntcrossbow2

###execute at @s positioned ~ ~1.5 ~ run execute positioned ^ ^ ^1 run summon silverfish ~ ~ ~ {Silent:1b,ActiveEffects:[{Id:14b,Amplifier:5b,Duration:5555,ShowParticles:0b},{Id:28b,Amplifier:5b,Duration:10,ShowParticles:0b}],Health:20f,Passengers:[{id:"minecraft:tnt",Fuse:60}],Attributes:[{Name:generic.max_health,Base:20},{Name:generic.follow_range,Base:0},{Name:generic.movement_speed,Base:0}],Tags:["TNTCBowStand"],Passengers:[{id:"minecraft:tnt",Fuse:60}]}

#execute at @s positioned ~ ~1.5 ~ run execute as @e[type=arrow,limit=1,sort=nearest,distance=..1.5,nbt={life:0s},tag=!GotMot] run summon tnt ~ ~ ~ {Fuse:60,Tags:["ShotTNT"]}
#execute at @s positioned ~ ~1.5 ~ run execute as @e[type=arrow,limit=1,sort=nearest,distance=..1.5,nbt={life:0s},tag=!GotMot] run summon tnt ~ ~ ~ {Fuse:60,Tags:["ShotTNT"]}
#execute at @s positioned ~ ~1.5 ~ run execute as @e[type=tnt,limit=1,sort=nearest,distance=..1.5,tag=ShotTNT,tag=!GotMot] run execute store result score @s KyuDummy run data get entity @s PierceLevel
############################################################################################################################dont mind me using PosX as a second dummy here
#execute at @s positioned ~ ~1.5 ~ run execute as @e[type=arrow,limit=1,sort=nearest,distance=..1.5,nbt={life:0s},tag=!GotMot] run scoreboard players set @s PosX 2
#execute at @s positioned ~ ~1.5 ~ run execute as @e[type=arrow,limit=1,sort=nearest,distance=..1.5,nbt={life:0s},tag=!GotMot] run scoreboard players operation @s PosX *= @s KyuDummy
#execute at @s positioned ~ ~1.5 ~ run execute as @e[type=arrow,limit=1,sort=nearest,distance=..1.5,nbt={life:0s},tag=!GotMot] run scoreboard players add @s PosX 12
#execute at @s positioned ~ ~1.5 ~ run execute as @e[type=arrow,limit=1,sort=nearest,distance=..1.5,nbt={life:0s},tag=!GotMot] run scoreboard players operation @s KyuDummy = @s PosX
#execute at @s positioned ~ ~1.5 ~ run execute as @e[type=arrow,limit=1,sort=nearest,distance=..1.5,nbt={life:0s},tag=!GotMot] run data merge entity @s {PierceLevel:0b}

###execute at @s positioned ~ ~1.5 ~ run execute as @e[type=arrow,limit=1,sort=nearest,distance=..1.5,nbt={life:0s},tag=!GotMot] run execute store result score @s PosX run data get entity @s Motion[0] 10000
###execute at @s positioned ~ ~1.5 ~ run execute as @e[type=arrow,limit=1,sort=nearest,distance=..1.5,nbt={life:0s},tag=!GotMot] run execute store result score @s PosY run data get entity @s Motion[1] 10000
###execute at @s positioned ~ ~1.5 ~ run execute as @e[type=arrow,limit=1,sort=nearest,distance=..1.5,nbt={life:0s},tag=!GotMot] run execute store result score @s PosZ run data get entity @s Motion[2] 10000
#execute at @s positioned ~ ~1.5 ~ run execute as @e[type=arrow,limit=1,sort=nearest,distance=..1.5,nbt={life:0s},tag=!GotMot] run scoreboard players operation @s PosX *= @s KyuDummy
#execute at @s positioned ~ ~1.5 ~ run execute as @e[type=arrow,limit=1,sort=nearest,distance=..1.5,nbt={life:0s},tag=!GotMot] run scoreboard players operation @s PosY *= @s KyuDummy
#execute at @s positioned ~ ~1.5 ~ run execute as @e[type=arrow,limit=1,sort=nearest,distance=..1.5,nbt={life:0s},tag=!GotMot] run scoreboard players operation @s PosZ *= @s KyuDummy
###execute at @s positioned ~ ~1.5 ~ run execute as @e[type=silverfish,limit=1,sort=nearest,distance=..1.5,tag=TNTCBowStand,tag=!GotMot] run execute store result entity @s Motion[0] double .00013 run scoreboard players get @e[type=arrow,limit=1,sort=nearest,distance=..1.5,nbt={life:0s},tag=!GotMot] PosX
###execute at @s positioned ~ ~1.5 ~ run execute as @e[type=silverfish,limit=1,sort=nearest,distance=..1.5,tag=TNTCBowStand,tag=!GotMot] run execute store result entity @s Motion[1] double .00013 run scoreboard players get @e[type=arrow,limit=1,sort=nearest,distance=..1.5,nbt={life:0s},tag=!GotMot] PosY
###execute at @s positioned ~ ~1.5 ~ run execute as @e[type=silverfish,limit=1,sort=nearest,distance=..1.5,tag=TNTCBowStand,tag=!GotMot] run execute store result entity @s Motion[2] double .00013 run scoreboard players get @e[type=arrow,limit=1,sort=nearest,distance=..1.5,nbt={life:0s},tag=!GotMot] PosZ
###execute at @s positioned ~ ~1.5 ~ run execute as @e[type=arrow,limit=1,sort=nearest,distance=..1.5,nbt={life:0s},tag=!GotMot] run kill @s
###execute at @s positioned ~ ~1.5 ~ run execute as @e[type=silverfish,limit=1,sort=nearest,distance=..1.5,tag=TNTCBowStand,tag=!GotMot] run tag @s add GotMot

#kill @e[type=arrow,distance=..2]
#execute at @e[name=DayQ] run data merge block 999991 120 999979 {auto:1b}
#effect give @s wither 1 1
#effect give @s poison 1 1
#give @s emerald 1