execute at @e[scores={ctr1=1}] at @e[name=ctr1] run tp @e[name=ctr1] ^ ^ ^0.2 основная команда
и команды для поворота:
/give @p armor_stand{EntityTag:{Invisible:1b,Rotation:[270f],CustomName:'{"text":"1270"}'}} 1 для выдачи стоек для брони отвечающие за повороты
execute as @e[name=1270] at @s if entity @e[name=ctr1,distance=..0.1] at @s run data merge entity @e[name=ctr1,limit=1] {Invisible:1b,NoBasePlate:1b,NoGravity:1b,ShowArms:1b,Rotation:[270f],ArmorItems:[{id:"netherite_boots",Count:1b},{id:"netherite_leggings",Count:1b},{id:"netherite_chestplate",Count:1b},{id:"netherite_helmet",Count:1b}],HandItems:[{id:"trident",Count:1b},{}],CustomName:'{"text":"ctr1","color":"dark_purple"}',CustomNameVisible:1b,Pose:{Head:[180f,0f,0f],LeftLeg:[180f,0f,0f],RightLeg:[180f,0f,0f],LeftArm:[0f,0f,89f],RightArm:[0f,0f,267f]}}
и команда которая меняет поворот при наступлении на стойку для брони (give @p armor_stand{EntityTag:{Invisible:1b,Rotation:[270f],CustomName:'{"text":"1270"}'}} 1)
таких невидимых армор стендов 4 для каждого поворота