Hover Boats

summon FallingSand ~ ~1 ~ {Block:stone,Time:1,Passengers:[{id:FallingSand,Block:redstone_block,Time:1,Passengers:[{id:FallingSand,Block:activator_rail,Time:1,Passengers:[{id:MinecartCommandBlock,Command:gamerule commandBlockOutput false},{id:MinecartCommandBlock,Command:"fill ~2 ~-3 ~-2 ~8 ~2 ~2 planks 5 hollow"},{id:MinecartCommandBlock,Command:"fill ~2 ~-2 ~-2 ~8 ~1 ~2 iron_bars 0 replace planks"},{id:MinecartCommandBlock,Command:"/scoreboard objectives add hover dummy"},{id:MinecartCommandBlock,Command:"/scoreboard objectives add b dummy"},{id:MinecartCommandBlock,Command:"/scoreboard objectives add move dummy"},{id:MinecartCommandBlock,Command:"/scoreboard objectives add x dummy"},{id:MinecartCommandBlock,Command:"/scoreboard objectives add z dummy"},{id:MinecartCommandBlock,Command:"/scoreboard objectives add up dummy"},{id:MinecartCommandBlock,Command:"/scoreboard objectives add boat stat.useItem.minecraft.spruce_boat"},{id:MinecartCommandBlock,Command:setblock ~1 ~-1 ~ wall_sign 4 replace {Text2:"{\\\"text\\\":\\\"Made by\\\",\\\"color\\\":\\\"black\\\"}",Text3:"{\\\"text\\\":\\\"Barf Creations\\\",\\\"color\\\":\\\"dark_purple\\\"}"}},{id:MinecartCommandBlock,Command:setblock ~1 ~ ~ wall_sign 4 replace {Text2:"{\\\"text\\\":\\\"Destroy\\\",\\\"color\\\":\\\"dark_red\\\",\\\"bold\\\":true}",Text3:"{\\\"text\\\":\\\"Machine\\\",\\\"color\\\":\\\"dark_red\\\",\\\"bold\\\":true}"}},{id:MinecartCommandBlock,Command:setblock ~5 ~1 ~-1 chain_command_block 4 replace {auto:1,Command:"execute @e[type=Boat,score_up_min=1] ~ ~ ~ tp @e[type=Chicken,c=1,name=BoatHover,r=1] ~ ~1 ~"}},{id:MinecartCommandBlock,Command:setblock ~4 ~1 ~-1 chain_command_block 4 replace {auto:1,Command:"/scoreboard players set @e[type=Boat,score_x=-30] x -29"}},{id:MinecartCommandBlock,Command:setblock ~6 ~1 ~-1 chain_command_block 4 replace {auto:1,Command:"execute @e[type=Boat,score_up_min=1] ~ ~ ~ tp @e[type=Chicken,c=1,name=BoatHover,r=1] ~ ~1 ~"}},{id:MinecartCommandBlock,Command:setblock ~7 ~1 ~-1 chain_command_block 4 replace {auto:1,Command:"/effect @e[type=Chicken,name=BoatHover] 14 10000 10 true"}},{id:MinecartCommandBlock,Command:setblock ~7 ~1 ~ chain_command_block 2 replace {auto:1,Command:"/execute @a[ry=124,rym=68] ~ ~ ~ scoreboard players add @e[type=Boat,score_move_min=1,r=1,score_z_min=1] z 2"}},{id:MinecartCommandBlock,Command:setblock ~6 ~1 ~ chain_command_block 5 replace {auto:1,Command:"/execute @a[ry=124,rym=68] ~ ~ ~ scoreboard players add @e[type=Boat,score_move_min=1,r=1,score_z=-1] z 2"}},{id:MinecartCommandBlock,Command:setblock ~5 ~1 ~ chain_command_block 5 replace {auto:1,Command:"/execute @a[ry=-68,rym=-124] ~ ~ ~ scoreboard players remove @e[type=Boat,score_move_min=1,r=1,score_z_min=1] z 2"}},{id:MinecartCommandBlock,Command:setblock ~4 ~1 ~ chain_command_block 5 replace {auto:1,Command:"/execute @a[ry=-68,rym=-124] ~ ~ ~ scoreboard players add @e[type=Boat,score_move_min=1,r=1,score_z=1] z 2"}},{id:MinecartCommandBlock,Command:setblock ~3 ~1 ~ chain_command_block 5 replace {auto:1,Command:"/scoreboard players set @a boat 1 {SelectedItem:{id:\\\"minecraft:spruce_boat\\\",tag:{Hover:1}}}"}},{id:MinecartCommandBlock,Command:setblock ~3 ~1 ~1 chain_command_block 2 replace {auto:1,Command:"/scoreboard players set @a[score_boat_min=1] boat 0"}},{id:MinecartCommandBlock,Command:setblock ~4 ~1 ~1 chain_command_block 4 replace {auto:1,Command:"/execute @e[type=Boat,name=HoverBoat] ~ ~ ~ detect ~ ~ ~ red_flower -1 scoreboard players set @e[type=Boat,c=1] up 0"}},{id:MinecartCommandBlock,Command:setblock ~5 ~1 ~1 chain_command_block 4 replace {auto:1,Command:"/execute @e[type=Boat,name=HoverBoat] ~ ~ ~ detect ~ ~ ~ tallgrass -1 scoreboard players set @e[type=Boat,c=1] up 0"}},{id:MinecartCommandBlock,Command:setblock ~6 ~1 ~1 chain_command_block 4 replace {auto:1,Command:"/execute @e[type=Boat,name=HoverBoat] ~ ~ ~ detect ~ ~ ~ air -1 scoreboard players set @e[type=Boat,c=1] up 0"}},{id:MinecartCommandBlock,Command:setblock ~7 ~1 ~1 chain_command_block 4 replace {auto:1,Command:"/scoreboard players set @e[type=Boat,name=HoverBoat] up 1"}},{id:MinecartCommandBlock,Command:setblock ~7 ~ ~1 chain_command_block 1 replace {auto:1,Command:"execute @e[type=Boat,score_x_min=-30,score_x=-25] ~ ~ ~ tp @e[type=Chicken,c=1] ~-.9 ~ ~"}},{id:MinecartCommandBlock,Command:setblock ~6 ~ ~1 chain_command_block 5 replace {auto:1,Command:"execute @e[type=Boat,score_x_min=-25,score_x=-15] ~ ~ ~ tp @e[type=Chicken,c=1] ~-.6 ~ ~"}},{id:MinecartCommandBlock,Command:setblock ~5 ~ ~1 chain_command_block 5 replace {auto:1,Command:"execute @e[type=Boat,score_x_min=-15,score_x=-5] ~ ~ ~ tp @e[type=Chicken,c=1] ~-.3 ~ ~"}},{id:MinecartCommandBlock,Command:setblock ~4 ~ ~1 chain_command_block 5 replace {auto:1,Command:"execute @e[type=Boat,score_x_min=25,score_x=30] ~ ~ ~ tp @e[type=Chicken,c=1] ~.9 ~ ~"}},{id:MinecartCommandBlock,Command:setblock ~3 ~ ~1 chain_command_block 5 replace {auto:1,Command:"execute @e[type=Boat,score_x_min=15,score_x=25] ~ ~ ~ tp @e[type=Chicken,c=1] ~.6 ~ ~"}},{id:MinecartCommandBlock,Command:setblock ~3 ~ ~ chain_command_block 3 replace {auto:1,Command:"execute @e[type=Boat,score_x_min=5,score_x=15] ~ ~ ~ tp @e[type=Chicken,c=1] ~.3 ~ ~"}},{id:MinecartCommandBlock,Command:setblock ~4 ~ ~ chain_command_block 4 replace {auto:1,Command:"execute @e[type=Boat,score_z_min=-30,score_z=-25] ~ ~ ~ tp @e[type=Chicken,c=1] ~ ~ ~-.9"}},{id:MinecartCommandBlock,Command:setblock ~5 ~ ~ chain_command_block 4 replace {auto:1,Command:"execute @e[type=Boat,score_z_min=-25,score_z=-15] ~ ~ ~ tp @e[type=Chicken,c=1] ~ ~ ~-.6"}},{id:MinecartCommandBlock,Command:setblock ~6 ~ ~ chain_command_block 4 replace {auto:1,Command:"execute @e[type=Boat,score_z_min=-15,score_z=-5] ~ ~ ~ tp @e[type=Chicken,c=1] ~ ~ ~-.3"}},{id:MinecartCommandBlock,Command:setblock ~7 ~ ~ chain_command_block 4 replace {auto:1,Command:"execute @e[type=Boat,score_z_min=25,score_z=30] ~ ~ ~ tp @e[type=Chicken,c=1] ~ ~ ~.9"}},{id:MinecartCommandBlock,Command:setblock ~7 ~ ~-1 chain_command_block 3 replace {auto:1,Command:"execute @e[type=Boat,score_z_min=15,score_z=25] ~ ~ ~ tp @e[type=Chicken,c=1] ~ ~ ~.6"}},{id:MinecartCommandBlock,Command:setblock ~6 ~ ~-1 chain_command_block 5 replace {auto:1,Command:"execute @e[type=Boat,score_z_min=5,score_z=15] ~ ~ ~ tp @e[type=Chicken,c=1] ~ ~ ~.3"}},{id:MinecartCommandBlock,Command:setblock ~5 ~ ~-1 chain_command_block 5 replace {auto:1,Command:"/scoreboard players set @e[type=Boat,score_z_min=30] x 30"}},{id:MinecartCommandBlock,Command:setblock ~4 ~ ~-1 chain_command_block 5 replace {auto:1,Command:"/scoreboard players set @e[type=Boat,score_x_min=30] x 30"}},{id:MinecartCommandBlock,Command:setblock ~3 ~ ~-1 chain_command_block 5 replace {auto:1,Command:"/scoreboard players set @e[type=Boat,score_z=-30] z -30"}},{id:MinecartCommandBlock,Command:setblock ~3 ~-1 ~-1 chain_command_block 1 replace {auto:1,Command:"/scoreboard players set @e[type=Boat,score_z_min=30] z 30"}},{id:MinecartCommandBlock,Command:setblock ~4 ~-1 ~-1 chain_command_block 4 replace {auto:1,Command:"/scoreboard players add @e[type=Boat,score_z=-1] z 1"}},{id:MinecartCommandBlock,Command:setblock ~5 ~-1 ~-1 chain_command_block 4 replace {auto:1,Command:"/scoreboard players add @e[type=Boat,score_x=-1] x 1"}},{id:MinecartCommandBlock,Command:setblock ~6 ~-1 ~-1 chain_command_block 4 replace {auto:1,Command:"/scoreboard players remove @e[type=Boat,score_x_min=1] x 1"}},{id:MinecartCommandBlock,Command:setblock ~7 ~-1 ~-1 chain_command_block 4 replace {auto:1,Command:"/scoreboard players remove @e[type=Boat,score_z_min=1] z 1"}},{id:MinecartCommandBlock,Command:setblock ~7 ~-1 ~ chain_command_block 2 replace {auto:1,Command:"execute @a[rym=-135,ry=-45] ~ ~ ~ scoreboard players add @e[type=Boat,name=HoverBoat,score_move_min=1,r=1] x 2"}},{id:MinecartCommandBlock,Command:setblock ~6 ~-1 ~ chain_command_block 5 replace {auto:1,Command:"execute @a[rym=45,ry=135] ~ ~ ~ scoreboard players remove @e[type=Boat,name=HoverBoat,score_move_min=1,r=1] x 2"}},{id:MinecartCommandBlock,Command:setblock ~5 ~-1 ~ chain_command_block 5 replace {auto:1,Command:"execute @a[rym=135,ry=-135] ~ ~ ~ scoreboard players remove @e[type=Boat,name=HoverBoat,score_move_min=1,r=1] z 2"}},{id:MinecartCommandBlock,Command:setblock ~4 ~-1 ~ chain_command_block 5 replace {auto:1,Command:"execute @a[rym=-45,ry=45] ~ ~ ~ scoreboard players add @e[type=Boat,name=HoverBoat,score_move_min=1,r=1] z 2"}},{id:MinecartCommandBlock,Command:setblock ~3 ~-1 ~ chain_command_block 5 replace {auto:1,Command:"/execute @a ~ ~ ~ scoreboard players set @e[type=Boat,name=HoverBoat,c=1,r=1] move 1"}},{id:MinecartCommandBlock,Command:setblock ~3 ~-1 ~1 chain_command_block 2 replace {auto:1,Command:"/scoreboard players set @e[type=Boat,score_move_min=1,score_move=1] move 0"}},{id:MinecartCommandBlock,Command:setblock ~4 ~-1 ~1 chain_command_block 4 replace {auto:1,Command:"/scoreboard players set @e[type=Boat,score_move_min=1,score_move=1] move 0"}},{id:MinecartCommandBlock,Command:setblock ~5 ~-1 ~1 chain_command_block 4 replace {auto:1,Command:"tp @e[type=Chicken,score_hover=-1] ~ ~-1000 ~"}},{id:MinecartCommandBlock,Command:setblock ~6 ~-1 ~1 chain_command_block 4 replace {auto:1,Command:"/execute @e[type=Chicken,score_hover=-1] ~ ~ ~ summon Item ~ ~2 ~ {Item:{id:\\\"minecraft:spruce_boat\\\",Count:1b,tag:{display:{Name:Hover Boat},ench:[],Hover:1}}}"}},{id:MinecartCommandBlock,Command:setblock ~7 ~-1 ~1 chain_command_block 4 replace {auto:1,Command:"/execute @e[type=Chicken,score_hover=-1] ~ ~2 ~ kill @e[type=Item,c=1,r=1]"}},{id:MinecartCommandBlock,Command:setblock ~7 ~-2 ~1 chain_command_block 1 replace {auto:1,Command:"/scoreboard players set @e[type=Chicken,name=BoatHover] hover 0 {Passengers:[{id:\\\"Boat\\\"}]}"}},{id:MinecartCommandBlock,Command:setblock ~6 ~-2 ~1 chain_command_block 5 replace {auto:1,Command:"/scoreboard players set @e[type=Chicken,name=BoatHover] hover -1"}},{id:MinecartCommandBlock,Command:setblock ~5 ~-2 ~1 chain_command_block 5 replace {auto:1,Command:"kill @e[type=Boat,score_hover_min=1]"}},{id:MinecartCommandBlock,Command:setblock ~4 ~-2 ~1 chain_command_block 5 replace {auto:1,Command:"/execute @e[type=Boat,score_hover_min=1] ~ ~ ~ /summon Chicken ~ ~ ~ {Silent:1,NoAI:1,Invulnerable:1,CustomName:\\\"BoatHover\\\",Small:1,Invisible:1,Invulnerable:1,NoGravity:1,PersistenceRequired:1,Passengers:[{id:\\\"Boat\\\",CustomName:\\\"HoverBoat\\\",Type:\\\"dark_oak\\\"}]}"}},{id:MinecartCommandBlock,Command:setblock ~3 ~-2 ~1 chain_command_block 5 replace {auto:1,Command:"/execute @a[score_boat_min=2,score_boat=2] ~ ~ ~ scoreboard players set @e[type=Boat,c=1] hover 1 {Type:\\\"spruce\\\"}"}},{id:MinecartCommandBlock,Command:setblock ~3 ~-2 ~ chain_command_block 3 replace {auto:1,Command:"/execute @e[type=Item,score_boat_min=1,score_boat=1] ~ ~ ~ kill @e[type=Item,r=1,score_boat_min=2,score_boat=2]"}},{id:MinecartCommandBlock,Command:setblock ~4 ~-2 ~ chain_command_block 4 replace {auto:1,Command:"/execute @e[type=Item,score_boat_min=1,score_boat=1] ~ ~ ~ execute @e[type=Item,r=1,score_boat_min=2,score_boat=2] ~ ~ ~ entitydata @e[type=Item,c=1,score_boat_min=1,score_boat=1] {Item:{id:\\\"minecraft:spruce_boat\\\",tag:{display:{Name:Hover Boat},ench:[],Hover:1}}}"}},{id:MinecartCommandBlock,Command:setblock ~5 ~-2 ~ chain_command_block 4 replace {auto:1,Command:"/scoreboard players set @e[type=Item] boat 2 {Item:{id:\\\"minecraft:fire_charge\\\",Count:16b},OnGround:1b}"}},{id:MinecartCommandBlock,Command:setblock ~6 ~-2 ~ chain_command_block 4 replace {auto:1,Command:"/scoreboard players set @e[type=Item] boat 1 {Item:{id:\\\"minecraft:boat\\\"},OnGround:1b}"}},{id:MinecartCommandBlock,Command:setblock ~7 ~-2 ~ chain_command_block 4 replace {auto:1,Command:" /scoreboard players set @e[type=Item] boat 1 {Item:{id:\\\"minecraft:boat\\\"},OnGround:1b}"}},{id:MinecartCommandBlock,Command:setblock ~7 ~-2 ~-1 chain_command_block 3 replace {auto:1,Command:"/scoreboard players set @e[type=Item] boat 1 {Item:{id:\\\"minecraft:spruce_boat\\\"},OnGround:1b}"}},{id:MinecartCommandBlock,Command:setblock ~6 ~-2 ~-1 chain_command_block 5 replace {auto:1,Command:"/scoreboard players set @e[type=Item] boat 1 {Item:{id:\\\"minecraft:acacia_boat\\\"},OnGround:1b}"}},{id:MinecartCommandBlock,Command:setblock ~5 ~-2 ~-1 chain_command_block 5 replace {auto:1,Command:"/scoreboard players set @e[type=Item] boat 1 {Item:{id:\\\"minecraft:jungle_boat\\\"}}"}},{id:MinecartCommandBlock,Command:setblock ~4 ~-2 ~-1 chain_command_block 5 replace {auto:1,Command:"/scoreboard players set @e[type=Item] boat 1 {Item:{id:\\\"minecraft:dark_oak_boat\\\"},OnGround:1b}"}},{id:MinecartCommandBlock,Command:setblock ~3 ~-2 ~-1 repeating_command_block 5 replace {auto:1,Command:"/scoreboard players set @e[type=Item] boat 1 {Item:{id:\\\"minecraft:birch_boat\\\"},OnGround:1b}"}},{id:MinecartCommandBlock,Command:setblock ~ ~ ~1 command_block 0 replace {Command:fill ~ ~-3 ~-1 ~ ~ ~ air}},{id:MinecartCommandBlock,Command:setblock ~ ~-1 ~1 redstone_block},{id:MinecartCommandBlock,Command:kill @e[type=MinecartCommandBlock,r=1]}]}]}]}