HOLY POOP THIS IS LAGGY.... (At least on my computer)
Cheat sheet:
Bow + 64 Fireballs = Fireball Bow
Bow + 64 Torches + 16 Coal = Torch Bow
Bow + 16 Pistons = Launcher Bow
Bow + 64 TNT = Impact Explosion Bow
Bow + 64 Webs = Web launcher
Bow + Water bucket = Rain bow
The very, very long command:
/summon FallingSand ~ ~1 ~ {Block:redstone_block,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:fill ~ ~ ~1 ~ ~-30 ~1 redstone_block},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:fill ~ ~2 ~ ~ ~-31 ~1 air},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~3 ~19 ~ {Block:command_block,Time:1,TileEntityData:{Command:fill ~ ~ ~-1 ~6 ~ ~1 log2 13}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard objectives add rain dummy},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard objectives add bow dummy},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard objectives add boom dummy},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard objectives add web dummy},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard objectives add launch dummy},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard objectives add G dummy},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard objectives add torch dummy},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard objectives add u stat.useItem.minecraft.bow},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard objectives add craft dummy},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~4 ~-15 ~-1 {Block:log2,Data:13,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=9,score_craft=9,r=1] ~ ~ ~ kill @e[type=Item,score_craft_min=9,score_craft=9,r=2]},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @a web 0},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @a rain 0},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=5,score_craft=5,r=1] ~ ~ ~ playsound random.explode @a ~ ~ ~ 1 1 1},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @e[type=Item] craft 4 {Item:{id:"minecraft:coal",Count:16b}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @a bow 0},Time:1,}}}}}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~5 ~-14 ~-1 {Block:log2,Data:13,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @a launch 1 {SelectedItem:{id:"minecraft:bow",tag:{L:1}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @a[score_u_min=1,score_web_min=1] ~ ~ ~ playsound mob.ghast.fireball @a ~ ~ ~ 1 0 1},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @a[score_rain_min=1,score_u_min=1] ~ ~ ~ scoreboard players set @e[type=Arrow,c=1] rain 1},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @a boom 0},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=4,score_craft=4,r=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=3,score_craft=3,r=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=1,score_craft=1,c=1] ~ ~ ~ particle flame ~ ~.4 ~ 0 0 0 .01 100},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @a[score_u_min=1,score_bow_min=1,score_bow=1] ~ ~ ~ execute @e[type=Arrow,c=1] ~ ~ ~ summon Fireball ~ ~ ~ {direction:[],CustomName:FireArrow}},Time:1,}}}}}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~6 ~-13 ~-1 {Block:log2,Data:13,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Arrow,score_launch_min=1] ~ ~ ~ particle reddust ~ ~ ~ 0 0 0 0 1 force},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Arrow,score_web_min=1] ~ ~ ~ particle blockcrack_30 ~ ~ ~ 0 0 0 0 1 force},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Arrow,score_rain_min=1,score_G_min=1] ~ ~ ~ setblock ~ ~ ~ water},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @a[score_boom_min=1,score_u_min=1] ~ ~ ~ scoreboard players set @e[type=Arrow,c=1] boom 1},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @a bow 2 {SelectedItem:{id:"minecraft:bow",tag:{T:1}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Fireball,name=FireArrow] ~ ~ ~ /particle flame ~ ~ ~ 0 0 0 .05 3 force},Time:1,}}}}}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~7 ~-12 ~-1 {Block:log2,Data:13,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @e[type=Arrow] G 1 {inGround:1b}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @a[score_web_min=1] ~ ~ ~ fill ~.4 ~ ~.4 ~-.4 ~1 ~-.4 air 0 replace web},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:kill @e[type=Arrow,score_G_min=1,score_rain_min=1]},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:kill @e[type=Arrow,score_G_min=1,score_boom_min=1]},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Arrow,score_torch_min=1,score_G_min=1] ~ ~ ~ setblock ~ ~ ~ torch 5},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @e[type=Item] craft 2 {Item:{id:"minecraft:fire_charge",Count:64b}}},Time:1,}}}}}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~8 ~-11 ~-1 {Block:log2,Data:13,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @e[type=Item] craft 9 {Item:{id:"minecraft:piston",Count:16b}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=8,score_craft=8,r=1] ~ ~ ~ entitydata @e[type=Item,score_craft_min=1,score_craft=1,r=1,c=1] {Item:{tag:{display:{Name:Web Shooter},ench:[],W:1}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=7,score_craft=7,r=1] ~ ~ ~ entitydata @e[type=Item,score_craft_min=1,score_craft=1,r=1,c=1] {Item:{tag:{display:{Name:Rain Bow},ench:[],R:1}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:kill @e[type=Arrow,score_torch_min=1,score_G_min=1] },Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=2,score_craft=2,r=1] ~ ~ ~ /playsound mob.ghast.fireball @a ~ ~ ~ 1 .5 1},Time:1,}}}}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~9 ~-10 ~-1 {Block:log2,Data:13,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=9,score_craft=9,r=1] ~ ~ ~ particle reddust ~ ~ ~ .2 .2 .2 0 100},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=8,score_craft=8,r=1] ~ ~ ~ /playsound mob.ghast.fireball @a ~ ~ ~ 1 0 1},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=7,score_craft=7,r=1] ~ ~ ~ /playsound ambient.weather.rain @a ~ ~ ~ 1 0 1},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=5,score_craft=5,r=1] ~ ~ ~ entitydata @e[type=Item,score_craft_min=1,score_craft=1,r=1,c=1] {Item:{tag:{display:{Name:Impact Explosion Bow},ench:[],E:1}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=2,score_craft=2,r=1] ~ ~ ~ kill @e[type=Item,c=1]},Time:1,}}}}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~4 ~-10 ~1 {Block:log2,Data:13,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @a launch 0},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @a web 1 {SelectedItem:{id:"minecraft:bow",tag:{W:1}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @a rain 1 {SelectedItem:{id:"minecraft:bow",tag:{R:1}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=5,score_craft=5,r=1] ~ ~ ~ kill @e[score_craft_min=2,r=2]},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=4,score_craft=4,r=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=3,score_craft=3,r=1] ~ ~ ~ entitydata @e[type=Item,score_craft_min=1,score_craft=1,c=1] {Item:{id:"minecraft:bow",tag:{display:{Name:Torch Bow},ench:[],T:1}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @a bow 1 {SelectedItem:{id:"minecraft:bow",tag:{F:1}}}},Time:1,}}}}}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~5 ~-9 ~1 {Block:log2,Data:13,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @a[score_launch_min=1,score_u_min=1] ~ ~ ~ scoreboard players set @e[type=Arrow,c=1] launch 1},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @a[score_u_min=1,score_web_min=1] ~ ~ ~ scoreboard players set @e[type=Arrow,c=1] web 1},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Arrow,score_rain_min=1] ~ ~ ~ particle dripWater ~ ~ ~ .5 0 .5 0 3 force},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @a boom 1 {SelectedItem:{id:"minecraft:bow",tag:{E:1}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=4,score_craft=4,r=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=3,score_craft=3,r=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=1,score_craft=1,c=1] ~ ~ ~ kill @e[type=Item,score_craft_min=2,score_craft=4]},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Fireball,name=FireArrow] ~ ~ ~ /particle lava ~ ~ ~ 0 0 0 0 1 force},Time:1,}}}}}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~6 ~-8 ~1 {Block:log2,Data:13,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Arrow,score_launch_min=1] ~ ~ ~ entitydata @e[r=2,type=!Arrow] {Motion:[0.0,1.0,0.0]}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Arrow,score_web_min=1,score_G_min=1] ~ ~ ~ fill ~-1 ~-1 ~-1 ~1 ~1 ~1 web 0 replace air},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Arrow,score_rain_min=1,score_G_min=1] ~ ~ ~ setblock ~ ~1 ~ water 1},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Arrow,score_G_min=1,score_boom_min=1] ~ ~ ~ summon PrimedTnt},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @a[score_bow_min=2,score_bow=2,score_u_min=1] ~ ~ ~ /scoreboard players set @e[type=Arrow,c=1] torch 1},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @e[type=Item] craft 1 {Item:{id:"minecraft:bow"}}},Time:1,}}}}}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~7 ~-7 ~1 {Block:log2,Data:13,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @a u 0},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:kill @e[score_G_min=1,score_web_min=1]},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @e[type=Item] craft 8 {Item:{id:"minecraft:web",Count:64b}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @e[type=Item] craft 7 {Item:{id:"minecraft:water_bucket"}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Arrow,score_torch_min=1,score_G_min=1] ~ ~ ~ particle flame ~ ~.5 ~ 0 0 0 .1 10},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=2,score_craft=2,r=1] ~ ~ ~ entitydata @e[type=Item,score_craft_min=1,score_craft=1,r=1,c=1] {Item:{tag:{display:{Name:Fire Bow},ench:[],F:1}}}},Time:1,}}}}}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~8 ~-6 ~1 {Block:log2,Data:13,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=9,score_craft=9,r=1] ~ ~ ~ entitydata @e[type=Item,score_craft_min=1,score_craft=1,r=1,c=1] {Item:{tag:{display:{Name:Launcher Bow},ench:[],L:1}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=8,score_craft=8,r=1] ~ ~ ~ /particle blockcrack_30 ~ ~ ~ .2 .2 .2 0 100},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=7,score_craft=7,r=1] ~ ~ ~ particle dripWater ~ ~3 ~ .2 0 .2 0 100},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @e[type=Item] craft 5 {Item:{id:"minecraft:tnt",Count:64b}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=2,score_craft=2,r=1] ~ ~ ~ particle flame ~ ~ ~ 0 0 0 .1 100},Time:1,}}}}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:summon FallingSand ~9 ~-5 ~1 {Block:log2,Data:13,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=9,score_craft=9,r=1] ~ ~ ~ playsound tile.piston.in @a ~ ~ ~ 1 2 1},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=8,score_craft=8,r=1] ~ ~ ~ kill @e[type=Item,score_craft_min=8,score_craft=8,r=2]},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=7,score_craft=7,r=1] ~ ~ ~ kill @e[type=Item,score_craft_min=7,r=2]},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/execute @e[type=Item,score_craft_min=1,score_craft=1] ~ ~ ~ /execute @e[type=Item,score_craft_min=5,score_craft=5,r=1] ~ ~ ~ particle hugeexplosion ~ ~ ~ 0 0 0 0 1},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/scoreboard players set @e[type=Item] craft 3 {Item:{id:"minecraft:torch",Count:64b}}},Time:1,}}}}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:gamerule commandBlockOutput false},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:fill ~3 ~-4 ~ ~9 ~1 ~ redstone_block},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:setblock ~3 ~-3 ~-1 command_block 0 replace {Command:fill ~ ~ ~1 ~6 ~5 ~1 stone 0 replace redstone_block}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:setblock ~3 ~-2 ~1 command_block 0 replace {Command:fill ~ ~ ~-1 ~6 ~5 ~-1 redstone_block 0 replace stone}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:fill ~2 ~-1 ~-2 ~10 ~4 ~2 iron_bars 0 replace log2 13},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:fill ~3 ~ ~-1 ~9 ~8 ~1 air 0 replace log2 13},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:fill ~2 ~ ~-2 ~10 ~7 ~2 log2 13},Time:1,Riding:{id:FallingSand,Block:stone,Time:1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}