#=== Detect In boat ===#
execute @e[type=boat,tag=WaitForPlayer,name=BoatRun] ~ ~-1 ~ scoreboard players tag @a[r=1,tag=InGame] add InitInBoat
execute @e[type=boat,tag=WaitForPlayer,name=BoatRun] ~ ~-1 ~ scoreboard players tag @a[r=1,tag=Starting] add InitInBoat
execute @e[type=boat,tag=WaitForPlayer,name=BoatRun] ~-1 ~-1 ~ scoreboard players tag @e[r=1,tag=InGame,type=villager] add InitInBoat

#=== Summon next Boat ===#
execute @e[tag=InitInBoat] ~ ~ ~ scoreboard players tag @e[r=1,type=boat,tag=WaitForPlayer] add BoatRunning
execute @e[tag=InitInBoat] ~ ~ ~ scoreboard players tag @e[r=1,type=boat,tag=WaitForPlayer] remove WaitForPlayer
execute @e[tag=InitInBoat] ~ ~ ~ summon minecraft:armor_stand -36 115 253 {CustomName:"ArmorRun",Motion:[0.8,0.0,0.0],Small:1b,Marker:1b,Rotation:[90f,0.0f],Invisible:1b,Passengers:[{id:"boat",CustomName:"BoatRun",Type:"oak",Tags:["WaitForLanding"],Passengers:[{id:"area_effect_cloud",CustomName:"BoatPassenger",CustomNameVisible:0b,Particle:mobSpell,Duration:2000000000}]}]}
execute @e[tag=InitInBoat] ~ ~ ~ tp @e[type=boat,name=BoatRun,tag=WaitForLanding] ~ ~ ~ -90 ~

#=== Wait for boat to land ===#
scoreboard players tag @e[type=boat,tag=WaitForLanding,x=-27,y=101,z=253,r=1] add WaitForPlayer {OnGround:1b}
scoreboard players tag @e[tag=WaitForPlayer,type=boat] remove WaitForLanding

#=== Add InBoat tag ===#
scoreboard players tag @e[tag=InitInBoat] add InBoat
scoreboard players tag @e[tag=InitInBoat] remove InitInBoat