execute @a[ry=-68,rym=-112] ~ ~ ~ detect ~0.5 ~ ~ log2 0 execute @s ~ ~ ~ detect ~2 ~ ~ air 0 execute @s ~ ~ ~ summon item_frame ~1 ~ ~ {Tags:["tsPushSpawn"]}
execute @a[ry=-68,rym=-112] ~ ~ ~ detect ~0.5 ~ ~ log2 0 execute @s ~ ~ ~ detect ~2 ~ ~ air 0 execute @s ~ ~ ~ execute @e[tag=tsPushSpawn,c=1] ~ ~ ~ summon armor_stand ~ ~-0.5 ~0.475 {Tags:["tsPush","tsPushPX"],Marker:1,Invisible:1,ArmorItems:[{},{},{},{id:"log2",Count:1}],NoGravity:1}
execute @a[ry=-68,rym=-112] ~ ~ ~ detect ~0.5 ~ ~ log2 0 execute @s ~ ~ ~ detect ~2 ~ ~ air 0 execute @s ~ ~ ~ setblock ~1 ~ ~ air
execute @a[ry=112,rym=68] ~ ~ ~ detect ~-0.5 ~ ~ log2 0 execute @s ~ ~ ~ detect ~-2 ~ ~ air 0 execute @s ~ ~ ~ summon item_frame ~-1 ~ ~ {Tags:["tsPushSpawn"]}
execute @a[ry=112,rym=68] ~ ~ ~ detect ~-0.5 ~ ~ log2 0 execute @s ~ ~ ~ detect ~-2 ~ ~ air 0 execute @s ~ ~ ~ execute @e[tag=tsPushSpawn,c=1] ~ ~ ~ summon armor_stand ~ ~-0.5 ~0.475 {Tags:["tsPush","tsPushNX"],Marker:1,Invisible:1,ArmorItems:[{},{},{},{id:"log2",Count:1}],NoGravity:1}
execute @a[ry=112,rym=68] ~ ~ ~ detect ~-0.5 ~ ~ log2 0 execute @s ~ ~ ~ detect ~-2 ~ ~ air 0 execute @s ~ ~ ~ setblock ~-1 ~ ~ air
execute @a[ry=22,rym=-22] ~ ~ ~ detect ~ ~ ~0.5 log2 0 execute @s ~ ~ ~ detect ~ ~ ~2 air 0 execute @s ~ ~ ~ summon item_frame ~ ~ ~1 {Tags:["tsPushSpawn"]}
execute @a[ry=22,rym=-22] ~ ~ ~ detect ~ ~ ~0.5 log2 0 execute @s ~ ~ ~ detect ~ ~ ~2 air 0 execute @s ~ ~ ~ execute @e[tag=tsPushSpawn,c=1] ~ ~ ~ summon armor_stand ~ ~-0.5 ~0.475 {Tags:["tsPush","tsPushPZ"],Marker:1,Invisible:1,ArmorItems:[{},{},{},{id:"log2",Count:1}],NoGravity:1}
execute @a[ry=22,rym=-22] ~ ~ ~ detect ~ ~ ~0.5 log2 0 execute @s ~ ~ ~ detect ~ ~ ~2 air 0 execute @s ~ ~ ~ setblock ~ ~ ~1 air
execute @a[ry=-158,rym=158] ~ ~ ~ detect ~ ~ ~-0.5 log2 0 execute @s ~ ~ ~ detect ~ ~ ~-2 air 0 execute @s ~ ~ ~ summon item_frame ~ ~ ~-1 {Tags:["tsPushSpawn"]}
execute @a[ry=-158,rym=158] ~ ~ ~ detect ~ ~ ~-0.5 log2 0 execute @s ~ ~ ~ detect ~ ~ ~-2 air 0 execute @s ~ ~ ~ execute @e[tag=tsPushSpawn,c=1] ~ ~ ~ summon armor_stand ~ ~-0.5 ~0.475 {Tags:["tsPush","tsPushNZ"],Marker:1,Invisible:1,ArmorItems:[{},{},{},{id:"log2",Count:1}],NoGravity:1}
execute @a[ry=-158,rym=158] ~ ~ ~ detect ~ ~ ~-0.5 log2 0 execute @s ~ ~ ~ detect ~ ~ ~-2 air 0 execute @s ~ ~ ~ setblock ~ ~ ~-1 air

kill @e[tag=tsPushSpawn]

scoreboard players tag @e[tag=tsPushContinue] remove tsPushContinue

execute @e[tag=tsPushPX] ~ ~ ~ detect ~0.6 ~ ~ air 0 scoreboard players tag @s add tsPushContinue
execute @e[tag=tsPushPX] ~ ~ ~ detect ~0.6 ~ ~ air 0 tp @s ~0.2 ~ ~
execute @e[tag=tsPushNX] ~ ~ ~ detect ~-0.6 ~ ~ air 0  scoreboard players tag @s add tsPushContinue
execute @e[tag=tsPushNX] ~ ~ ~ detect ~-0.6 ~ ~ air 0 tp @s ~-0.2 ~ ~
execute @e[tag=tsPushPZ] ~ ~ ~ detect ~ ~ ~0.575 air 0  scoreboard players tag @s add tsPushContinue
execute @e[tag=tsPushPZ] ~ ~ ~ detect ~ ~ ~0.575 air 0 tp @s ~ ~ ~0.2
execute @e[tag=tsPushNZ] ~ ~ ~ detect ~ ~ ~-0.575 air 0  scoreboard players tag @s add tsPushContinue
execute @e[tag=tsPushNZ] ~ ~ ~ detect ~ ~ ~-0.575 air 0 tp @s ~ ~ ~-0.2

execute @e[tag=tsPush] ~ ~ ~ particle endRod ~ ~0.5 ~ 0.1 0.1 0.1 0 2

scoreboard players add @e[tag=tsPush] tsPush 1
scoreboard players tag @e[score_tsPush_min=200] remove tsPushContinue

execute @a ~ ~ ~ detect ~ ~ ~ log2 * tp @s ~ ~1 ~

execute @e[tag=tsPush] ~ ~ ~ execute @s[tag=!tsPushContinue] ~ ~ ~ detect ~ ~-1 ~ air * summon falling_block ~ ~ ~ {Block:"log2",Time:1}
execute @e[tag=tsPush] ~ ~ ~ execute @s[tag=!tsPushContinue] ~ ~ ~ detect ~ ~-1 ~ air * particle cloud ~ ~-1.5 ~ 0.3 0.3 0.3 0.1 25
execute @e[tag=tsPush] ~ ~ ~ execute @s[tag=!tsPushContinue] ~ ~ ~ detect ~ ~-1 ~ air * kill @s

execute @e[tag=tsPush] ~ ~ ~ execute @s[tag=!tsPushContinue] ~ ~ ~ setblock ~ ~ ~ log2 0
execute @e[tag=tsPush] ~ ~ ~ execute @s[tag=!tsPushContinue] ~ ~ ~ particle cloud ~ ~0.5 ~ 0.3 0.3 0.3 0.1 25
execute @e[tag=tsPush] ~ ~ ~ execute @s[tag=!tsPushContinue] ~ ~ ~ kill @s
