импульсный исполняет команду 1 раз при подаче сигнала
цикличный исполняет команду каждый тик при подаче сигнала
тебе нужно в условие добавить маркер, при успеншом выполнении команды он должен изменить значение
scoreboard objective add marker dummy (выполнить 1 раз)
scoreboard players set $marker1 marker 0 (выполнить 1 раз, команда сбрасывает механизм)
execute if score $marker1 marker matches 0 positioned 1127 284 -3317 if entity @p[distance=..0.6] run setblock 1124 291 -3313 minecraft:anvil (цикличный, всегда активный)
execute if score $marker1 marker matches 0 positioned 1127 284 -3317 if entity @p[distance=..0.6] run scoreboard players set $marker marker 1 (цепной, условный, всегда активный)