сетапим скорборды (не шарю в датапаки, там же вроде была функция типа инит?)
scoreboard objectives add timers dummy
scoreboard objectives add constants dummy
scoreboard players set const_1 constants 1
Советую их попереименовывать все по контексту (вроде говорил уже), я так на скорую руку шото там ляпнул прост. Потом будущий ты скажешь спасибо прошлому.
Вот эти команды в такой последовательности выполнять каждый тик. Тут всё вроде даже простенько вышло, расписывать не буду. 200 тиков это десять секунд, меняешь на 1200 себе, а где 195 - это через пять тиков после маркера собственно сеттится блок (причём только если блока не было).
А потом на нуле сеттится воздух только если была шерсть.
Можно вообще заморочиться и сделать типа decay, то бишь на каких-то значениях тиков сеттить другие блоки, чтобы было видно что рассасывается путь, даже очень легко так сделать, кек
execute at @e[type=minecraft:snowball,nbt={Item:{tag:{SpecialBall:1b}}}] run summon minecraft:armor_stand ~ ~ ~ {Marker:1b,Invisible:1b,Tags:[line_fresh]}
scoreboard players add @e[tag=line_fresh] timers 200
tag @e[tag=line_fresh] remove line_fresh
scoreboard players operation @e[scores={timers=1..}] timers -= const_1 constants
execute at @e[scores={timers=195}] if block ~ ~ ~ minecraft:air run setblock ~ ~ ~ minecraft:white_wool
execute at @e[scores={timers=0}] if block ~ ~ ~ minecraft:white_wool run setblock ~ ~ ~ minecraft:air
kill @e[scores={timers=0}]