MrGarretto's One-Command Creations

Giving the modded minecraft feeling to vanilla

Minions command (1.10.2)
About this command
This command adds minions which can help you with a variety of jobs! This is an updated version of the Minions command for Minecraft 1.10.2!
Show source commands

INIT:/scoreboard objectives add MiAr_RClick stat.useItem.minecraft.carrot_on_a_stick
INIT:/scoreboard objectives add MiAr_Holding dummy
INIT:/scoreboard objectives add MiAr_showInv dummy
INIT:/scoreboard objectives add MiAr_Mode dummy
INIT:/scoreboard objectives add MiAr_Target dummy
INIT:/scoreboard objectives add MiAr_Dig dummy
INIT:/scoreboard objectives add MiAr_DigNext dummy
INIT:/scoreboard objectives add MiAr_DigDir dummy
INIT:/scoreboard objectives add MiAr_Destroy dummy
INIT:/scoreboard objectives add MiAr_FindTorch dummy
INIT:/scoreboard objectives add MiAr_HasTorch dummy
INIT:/scoreboard objectives add MiAr_Follow dummy

# Install messages
INIT:/tellraw @a[r=200] [{"text":"youtube.com/c/JustMrGarretto","color":"dark_red","clickEvent":{"action":"open_url,value":"youtube.com/c/JustMrGarretto"},"hoverEvent":{"action":"show_text","value":{"text":"","extra":[{"text":"Click this text to go to my channel on YouTube!","color":"gold"}]}}}]
INIT:/tellraw @a[r=200] {"color":"red","text":"This command was created by MrGarretto"}
INIT:/tellraw @a[r=200] [{"color":"dark_aqua","text":"The minions command "},{"color":"gold","text":"has been installed!"}]


# Crafting
INIT:/scoreboard objectives add MiAr_I dummy
/scoreboard players set @e[type=Item] MiAr_I 1 {Item:{id:"minecraft:blaze_rod"},OnGround:1b}
/scoreboard players set @e[type=Item] MiAr_I 2 {Item:{id:"minecraft:redstone_torch"},OnGround:1b}
/execute @e[score_MiAr_I_min=1,score_MiAr_I=1] ~ ~ ~ execute @e[r=1,score_MiAr_I_min=2,score_MiAr_I=2] ~ ~ ~ summon Item ~ ~ ~ {Item:{id:"minecraft:carrot_on_a_stick",Count:1,tag:{display:{Name:"Minion Staff"}}}}
/execute @e[score_MiAr_I_min=1,score_MiAr_I=1] ~ ~ ~ execute @e[r=1,score_MiAr_I_min=2,score_MiAr_I=2] ~ ~ ~ particle smoke ~ ~ ~ 0 0 0 0.2 100
/execute @e[score_MiAr_I_min=1,score_MiAr_I=1] ~ ~ ~ execute @e[r=1,score_MiAr_I_min=2,score_MiAr_I=2] ~ ~ ~ kill @e[type=Item,r=3,score_MiAr_I_min=1,score_MiAr_I=2]
/scoreboard players set @e[type=Item] MiAr_I 3 {Item:{id:"minecraft:fence"},OnGround:1b}
/scoreboard players set @e[type=Item] MiAr_I 4 {Item:{id:"minecraft:stone_slab"},OnGround:1b}
/execute @e[score_MiAr_I_min=3,score_MiAr_I=3] ~ ~ ~ execute @e[r=1,score_MiAr_I_min=4,score_MiAr_I=4] ~ ~ ~ summon Item ~ ~ ~ {Item:{id:"minecraft:armor_stand",Count:1,tag:{EntityTag:{Small:1,CustomNameVisible:0,ShowArms:1},ench:[{id:34,lvl:1}],display:{Name:"Mini Armor Stand"}}}}
/execute @e[score_MiAr_I_min=3,score_MiAr_I=3] ~ ~ ~ execute @e[r=1,score_MiAr_I_min=4,score_MiAr_I=4] ~ ~ ~ particle smoke ~ ~ ~ 0 0 0 0.2 100
/execute @e[score_MiAr_I_min=3,score_MiAr_I=3] ~ ~ ~ execute @e[r=1,score_MiAr_I_min=4,score_MiAr_I=4] ~ ~ ~ kill @e[type=Item,r=3,score_MiAr_I_min=3,score_MiAr_I=4]
/scoreboard players set @e[type=Item] MiAr_I 5 {Item:{id:"minecraft:carrot_on_a_stick",tag:{display:{Name:"Minion Staff"}}},OnGround:1b}


# Update certain scoreboards
/scoreboard players set @a MiAr_Holding 0
/scoreboard players set @a MiAr_Holding 1 {SelectedItem:{id:"minecraft:carrot_on_a_stick",tag:{display:{Name:"Minion Staff"}}}}


# Minion inventory
/scoreboard players set @e[type=ArmorStand,name=Minion] MiAr_showInv 0
/execute @a ~ ~ ~ scoreboard players set @e[type=ArmorStand,name=Minion,r=1] MiAr_showInv 1
/execute @e[type=ArmorStand,name=Minion] ~ ~ ~ tp @e[type=MinecartHopper,name=MinionInv,c=1] @e[type=ArmorStand,name=Minion,c=1]
# Only if hidden:
/execute @e[type=ArmorStand,name=Minion,score_MiAr_showInv=0] ~ ~ ~ tp @e[type=MinecartHopper,name=MinionInv,c=1] ~ 250 ~


# Destroy minion inventory if the minion is destroyed
/scoreboard players set @e[type=Item] MiAr_I 6 {Item:{id:"minecraft:armor_stand"}}
/scoreboard players set @e[type=MinecartHopper,name=MinionInv] MiAr_Destroy 1
/execute @e[type=ArmorStand,name=Minion] ~ ~ ~ scoreboard players set @e[type=MinecartHopper,name=MinionInv,c=1] MiAr_Destroy 0
/execute @e[type=MinecartHopper,name=MinionInv,score_MiAr_Destroy_min=1] ~ ~ ~ tp @e[type=MinecartHopper,name=MinionInv,score_MiAr_Destroy_min=1,r=1,c=1] @e[type=Item,score_MiAr_I_min=6,score_MiAr_I=6,c=1]
/kill @e[type=MinecartHopper,name=MinionInv,score_MiAr_Destroy_min=1]


# Making a minion
/scoreboard players add @e[type=ArmorStand] MiAr_Holding 0
/scoreboard players set @e[type=ArmorStand,score_MiAr_Holding=1] MiAr_Holding 1 {Small:1b}
/execute @e[score_MiAr_I_min=5,score_MiAr_I=5] ~ ~ ~ scoreboard players add @e[type=ArmorStand,r=1,score_MiAr_Holding_min=1] MiAr_Holding 1
/execute @e[type=ArmorStand,score_MiAr_Holding_min=2,score_MiAr_Holding=2] ~ ~ ~ particle cloud ~ ~ ~ 0 10 0 0.01 1000
/execute @e[type=ArmorStand,score_MiAr_Holding_min=2,score_MiAr_Holding=2] ~ ~ ~ playsound mob.wither.spawn @a[r=20]
/entitydata @e[type=ArmorStand,score_MiAr_Holding_min=2,score_MiAr_Holding=2] {DisabledSlots:2039583,NoBasePlate:1,CustomNameVisible:1,CustomName:"Minion",ArmorItems:[{id:leather_boots,tag:{display:{color:3092012}}},{id:leather_leggings,tag:{display:{color:4881832}}},{id:leather_chestplate,tag:{display:{color:4881832}}},{id:minecraft:skull,Damage:3,tag:{SkullOwner:{Id:1DA3A195-DEE2-7108-2630-9FF8E4596636,Properties:{textures:[{Value:e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjc2YWQ1ZDI4MTc5YjRkNzAyNWVlYzFmZDFmZmMyN2NmNjFmMDQzN2Q0MzM5Yzg5YzliYjBhMTNiZDJlMmU5In19fQ==}]}}}}]}
/execute @e[name=Minion,score_MiAr_Holding_min=2,score_MiAr_Holding=2] ~ ~ ~ summon MinecartHopper ~ 250 ~ {CustomName:"MinionInv"}
/scoreboard players set @e[name=Minion,score_MiAr_Holding_min=2,score_MiAr_Holding=2] MiAr_showInv 0
/scoreboard players set @e[name=Minion,score_MiAr_Holding_min=2,score_MiAr_Holding=2] MiAr_Mode 1
/scoreboard players add @e[name=Minion,score_MiAr_Holding_min=2,score_MiAr_Holding=2] MiAr_Holding 1


# Cycle modes
/execute @a[score_MiAr_RClick_min=1] ~ ~ ~ scoreboard players add @e[type=ArmorStand,name=Minion,r=24,c=1] MiAr_Mode 1
/execute @a[score_MiAr_RClick_min=1] ~ ~ ~ execute @e[type=ArmorStand,name=Minion,r=24,c=1] ~ ~ ~ particle fireworksSpark ~ ~1 ~ 0 0 0 0.07 100
/scoreboard players set @e[name=Minion,score_MiAr_Mode_min=7] MiAr_Mode 1
# Tell player the mode
/execute @a[score_MiAr_RClick_min=1] ~ ~ ~ execute @e[type=ArmorStand,name=Minion,r=24,c=1] ~ ~ ~ playsound note.pling @a ~ ~ ~ 0.5 2
/execute @a[score_MiAr_RClick_min=1] ~ ~ ~ execute @e[name=Minion,r=24,c=1,score_MiAr_Mode_min=1,score_MiAr_Mode=1] ~ ~ ~ tellraw @p [{"color":"dark_aqua","text":"This minion is now set to "},{"color":"gold","text":"stand still"}]
/execute @a[score_MiAr_RClick_min=1] ~ ~ ~ execute @e[name=Minion,r=24,c=1,score_MiAr_Mode_min=2,score_MiAr_Mode=2] ~ ~ ~ tellraw @p [{"color":"dark_aqua","text":"This minion is now set to "},{"color":"gold","text":"follow you"}]
/execute @a[score_MiAr_RClick_min=1] ~ ~ ~ execute @e[name=Minion,r=24,c=1,score_MiAr_Mode_min=3,score_MiAr_Mode=3] ~ ~ ~ tellraw @p [{"color":"dark_aqua","text":"This minion is now set to "},{"color":"gold","text":"follow you and pick up items"}]
/execute @a[score_MiAr_RClick_min=1] ~ ~ ~ execute @e[name=Minion,r=24,c=1,score_MiAr_Mode_min=4,score_MiAr_Mode=4] ~ ~ ~ tellraw @p [{"color":"dark_aqua","text":"This minion is now set to "},{"color":"gold","text":"dig"}]
/execute @a[score_MiAr_RClick_min=1] ~ ~ ~ execute @e[name=Minion,r=24,c=1,score_MiAr_Mode_min=5,score_MiAr_Mode=5] ~ ~ ~ tellraw @p [{"color":"dark_aqua","text":"This minion is now set to "},{"color":"gold","text":"pick up items"}]
/execute @a[score_MiAr_RClick_min=1] ~ ~ ~ execute @e[name=Minion,r=24,c=1,score_MiAr_Mode_min=6,score_MiAr_Mode=6] ~ ~ ~ tellraw @p [{"color":"dark_aqua","text":"This minion is now set to "},{"color":"gold","text":"place torches"}]


# Align the minion to the block for digging
/execute @a[score_MiAr_RClick_min=1] ~ ~ ~ execute @e[name=Minion,r=24,c=1,score_MiAr_Mode_min=4,score_MiAr_Mode=4] ~ ~ ~ summon ItemFrame ~ ~ ~
/execute @a[score_MiAr_RClick_min=1] ~ ~ ~ execute @e[name=Minion,r=24,c=1,score_MiAr_Mode_min=4,score_MiAr_Mode=4] ~ ~ ~ tp @e[type=ArmorStand,name=Minion,r=1,c=1] @e[type=ItemFrame,c=1]
/execute @a[score_MiAr_RClick_min=1] ~ ~ ~ tp @e[name=Minion,c=1] ~ ~ ~0.5
/execute @a[score_MiAr_RClick_min=1] ~ ~ ~ execute @e[name=Minion,r=24,c=1,score_MiAr_Mode_min=4,score_MiAr_Mode=4] ~ ~ ~ kill @e[type=ItemFrame,c=1]


# Pick up items for digging mode and for pick up items mode
/execute @e[name=Minion,score_MiAr_Mode_min=3,score_MiAr_Mode=5] ~ ~ ~ tp @e[type=Item,r=2] @e[type=MinecartHopper,name=MinionInv,c=1]


# Mode: Stand still
/execute @e[type=ArmorStand,name=Minion,score_MiAr_Mode_min=2,score_MiAr_Mode=2] ~ ~ ~ scoreboard players set @p MiAr_Target 1


# Mode: Dig
/scoreboard players add @e[name=Minion,score_MiAr_Mode_min=4,score_MiAr_Mode=4] MiAr_Dig 1
# Stop the dig score from increasing if bedrock is nearby
/execute @e[score_MiAr_Mode_min=4,score_MiAr_Mode=4] ~ ~ ~ detect ~ ~-1 ~ bedrock 0 scoreboard players set @e[name=Minion,r=1,c=1] MiAr_Dig 0
/execute @e[score_MiAr_Mode_min=4,score_MiAr_Mode=4] ~ ~ ~ detect ~ ~-2 ~ bedrock 0 scoreboard players set @e[name=Minion,r=1,c=1] MiAr_Dig 0
/execute @e[score_MiAr_Mode_min=4,score_MiAr_Mode=4] ~ ~ ~ detect ~ ~-3 ~ bedrock 0 scoreboard players set @e[name=Minion,r=1,c=1] MiAr_Dig 0
# Moving forward to dig the blocks
/tp @e[name=Minion,score_MiAr_Mode_min=4,score_MiAr_Mode=4,score_MiAr_Dig_min=25,score_MiAr_DigDir_min=1,score_MiAr_DigDir=1] ~1 ~ ~
/tp @e[name=Minion,score_MiAr_Mode_min=4,score_MiAr_Mode=4,score_MiAr_Dig_min=25,score_MiAr_DigDir_min=2,score_MiAr_DigDir=2] ~ ~ ~-1
/tp @e[name=Minion,score_MiAr_Mode_min=4,score_MiAr_Mode=4,score_MiAr_Dig_min=25,score_MiAr_DigDir_min=3,score_MiAr_DigDir=3] ~-1 ~ ~
/tp @e[name=Minion,score_MiAr_Mode_min=4,score_MiAr_Mode=4,score_MiAr_Dig_min=25,score_MiAr_DigDir_min=4,score_MiAr_DigDir=4] ~ ~ ~1
/entitydata @e[name=Minion,score_MiAr_Mode_min=4,score_MiAr_Mode=4,score_MiAr_Dig_min=25,score_MiAr_DigDir_min=1,score_MiAr_DigDir=1] {Rotation:[270.0f,0.0f]}
/entitydata @e[name=Minion,score_MiAr_Mode_min=4,score_MiAr_Mode=4,score_MiAr_Dig_min=25,score_MiAr_DigDir_min=2,score_MiAr_DigDir=2] {Rotation:[180.0f,0.0f]}
/entitydata @e[name=Minion,score_MiAr_Mode_min=4,score_MiAr_Mode=4,score_MiAr_Dig_min=25,score_MiAr_DigDir_min=3,score_MiAr_DigDir=3] {Rotation:[90.0f,0.0f]}
/entitydata @e[name=Minion,score_MiAr_Mode_min=4,score_MiAr_Mode=4,score_MiAr_Dig_min=25,score_MiAr_DigDir_min=4,score_MiAr_DigDir=4] {Rotation:[0.0f,0.0f]}

/execute @e[score_MiAr_Mode_min=4,score_MiAr_Mode=4,score_MiAr_Dig_min=25] ~ ~ ~ fill ~ ~-1 ~ ~ ~1 ~ air 0 destroy
/scoreboard players add @e[score_MiAr_Mode_min=4,score_MiAr_Mode=4,score_MiAr_Dig_min=25] MiAr_DigNext 1
/scoreboard players add @e[score_MiAr_Mode_min=4,score_MiAr_Mode=4,score_MiAr_DigNext_min=4] MiAr_DigDir 1
/scoreboard players set @e[score_MiAr_Mode_min=4,score_MiAr_Mode=4,score_MiAr_DigDir_min=5] MiAr_DigDir 1
/scoreboard players set @e[score_MiAr_Mode_min=4,score_MiAr_Mode=4,score_MiAr_DigNext_min=4] MiAr_DigNext 1
/scoreboard players set @e[score_MiAr_Mode_min=4,score_MiAr_Mode=4,score_MiAr_Dig_min=25] MiAr_Dig 1


# Mode: Placing torches
# Make sure the minion is fueled with coal for torches
/scoreboard players set @e[type=Item] MiAr_I 7 {Item:{id:"minecraft:coal"},OnGround:1b}
/execute @e[type=Item,score_MiAr_I_min=7,score_MiAr_I=7] ~ ~ ~ scoreboard players add @e[name=Minion,score_MiAr_Mode_min=6,score_MiAr_Mode=6,r=1,c=1] MiAr_HasTorch 4
/execute @e[type=Item,score_MiAr_I_min=7,score_MiAr_I=7] ~ ~ ~ execute @e[name=Minion,score_MiAr_Mode_min=6,score_MiAr_Mode=6,r=1,c=1] ~ ~ ~ particle flame ~ ~ ~ 0 0 0 0.02 15
/execute @e[type=Item,score_MiAr_I_min=7,score_MiAr_I=7] ~ ~ ~ execute @e[name=Minion,score_MiAr_Mode_min=6,score_MiAr_Mode=6,r=1,c=1] ~ ~ ~ kill @e[type=Item,score_MiAr_I_min=7,score_MiAr_I=7,r=1]

/scoreboard players set @e[name=Minion,score_MiAr_Mode_min=6,score_MiAr_Mode=6] MiAr_FindTorch 0
/stats entity @e[name=Minion,score_MiAr_Mode_min=6,score_MiAr_Mode=6] set SuccessCount @e[type=ArmorStand,name=Minion,score_MiAr_Mode_min=6,score_MiAr_Mode=6,r=1,c=1] MiAr_FindTorch
/execute @e[name=Minion,score_MiAr_Mode_min=6,score_MiAr_Mode=6] ~ ~ ~ fill ~-6 ~-2 ~-6 ~6 ~2 ~6 sponge 0 replace torch
/stats entity @e[name=Minion,score_MiAr_Mode_min=6,score_MiAr_Mode=6] clear SuccessCount
/execute @e[name=Minion,score_MiAr_Mode_min=6,score_MiAr_Mode=6] ~ ~ ~ fill ~-6 ~-2 ~-6 ~6 ~2 ~6 torch 0 replace sponge
/execute @e[name=Minion,score_MiAr_Mode_min=6,score_MiAr_Mode=6] ~ ~ ~ detect ~ ~-1 ~ air 0 scoreboard players set @e[type=ArmorStand,name=Minion,r=1,c=1] MiAr_FindTorch 1
/execute @e[name=Minion,score_MiAr_Mode_min=6,score_MiAr_Mode=6,score_MiAr_FindTorch=0,score_MiAr_HasTorch_min=1] ~ ~ ~ setblock ~ ~ ~ torch
/scoreboard players remove @e[name=Minion,score_MiAr_Mode_min=6,score_MiAr_Mode=6,score_MiAr_FindTorch=0,score_MiAr_HasTorch_min=1] MiAr_HasTorch 1


# Track the modes that should make the minion follow a player
/scoreboard players reset @e[type=ArmorStand,name=Minion] MiAr_Follow
/scoreboard players set @e[name=Minion,score_MiAr_Mode_min=2,score_MiAr_Mode=3] MiAr_Follow 1
/scoreboard players set @e[name=Minion,score_MiAr_Mode_min=6,score_MiAr_Mode=6] MiAr_Follow 1


# Move towards generator
INIT:/scoreboard objectives add MiAr_MoTo dummy
INIT:/scoreboard objectives add MiAr_Move dummy
INIT:/scoreboard objectives add MiAr_MoUp dummy
/kill @e[type=ArmorStand,score_MiAr_MoTo_min=1]
/execute @e[score_MiAr_Target_min=1] ~ ~ ~ summon ArmorStand ~0.3827 250 ~-0.9239 {Marker:1,Invisible:1,NoGravity:1,CustomName:"MiAr_MoveTowards1",ActiveEffects:[{Id:5,Amplifier:3,Duration:1000}]}
/execute @e[score_MiAr_Target_min=1] ~ ~ ~ summon ArmorStand ~0.9239 250 ~-0.3827 {Marker:1,Invisible:1,NoGravity:1,CustomName:"MiAr_MoveTowards2",ActiveEffects:[{Id:5,Amplifier:3,Duration:1000}]}
/execute @e[score_MiAr_Target_min=1] ~ ~ ~ summon ArmorStand ~0.9239 250 ~0.3827 {Marker:1,Invisible:1,NoGravity:1,CustomName:"MiAr_MoveTowards3",ActiveEffects:[{Id:5,Amplifier:3,Duration:1000}]}
/execute @e[score_MiAr_Target_min=1] ~ ~ ~ summon ArmorStand ~0.3827 250 ~0.9239 {Marker:1,Invisible:1,NoGravity:1,CustomName:"MiAr_MoveTowards4",ActiveEffects:[{Id:5,Amplifier:3,Duration:1000}]}
/execute @e[score_MiAr_Target_min=1] ~ ~ ~ summon ArmorStand ~-0.3827 250 ~0.9239 {Marker:1,Invisible:1,NoGravity:1,CustomName:"MiAr_MoveTowards5",ActiveEffects:[{Id:5,Amplifier:3,Duration:1000}]}
/execute @e[score_MiAr_Target_min=1] ~ ~ ~ summon ArmorStand ~-0.9239 250 ~0.3827 {Marker:1,Invisible:1,NoGravity:1,CustomName:"MiAr_MoveTowards6",ActiveEffects:[{Id:5,Amplifier:3,Duration:1000}]}
/execute @e[score_MiAr_Target_min=1] ~ ~ ~ summon ArmorStand ~-0.9239 250 ~-0.3827 {Marker:1,Invisible:1,NoGravity:1,CustomName:"MiAr_MoveTowards7",ActiveEffects:[{Id:5,Amplifier:3,Duration:1000}]}
/execute @e[score_MiAr_Target_min=1] ~ ~ ~ summon ArmorStand ~-0.3827 250 ~-0.9239 {Marker:1,Invisible:1,NoGravity:1,CustomName:"MiAr_MoveTowards8",ActiveEffects:[{Id:5,Amplifier:3,Duration:1000}]}
/scoreboard players set @e[type=ArmorStand] MiAr_MoTo 1 {ActiveEffects:[{Id:5b,Amplifier:3b}]}
/execute @a ~ ~ ~ execute @e[rm=3,c=1,type=ArmorStand,name=Minion,score_MiAr_Follow_min=1] ~ ~ ~ scoreboard players set @e[c=1,type=ArmorStand,score_MiAr_MoTo_min=1,score_MiAr_MoTo=1] MiAr_Move 1
/execute @e[type=ArmorStand,name=MiAr_MoveTowards1,score_MiAr_Move_min=1,score_MiAr_Move=1] ~ ~ ~ execute @e[c=1,score_MiAr_Target_min=1] ~ ~ ~ entitydata @e[rm=3,c=1,type=ArmorStand,name=Minion,score_MiAr_Follow_min=1] {Rotation:[0.0f,0.0f],Motion:[-0.11481d,-0.3d,0.27717d]}
/execute @e[type=ArmorStand,name=MiAr_MoveTowards2,score_MiAr_Move_min=1,score_MiAr_Move=1] ~ ~ ~ execute @e[c=1,score_MiAr_Target_min=1] ~ ~ ~ entitydata @e[rm=3,c=1,type=ArmorStand,name=Minion,score_MiAr_Follow_min=1] {Rotation:[45.0f,0.0f],Motion:[-0.27717d,-0.3d,0.11481d]}
/execute @e[type=ArmorStand,name=MiAr_MoveTowards3,score_MiAr_Move_min=1,score_MiAr_Move=1] ~ ~ ~ execute @e[c=1,score_MiAr_Target_min=1] ~ ~ ~ entitydata @e[rm=3,c=1,type=ArmorStand,name=Minion,score_MiAr_Follow_min=1] {Rotation:[90.0f,0.0f],Motion:[-0.27717d,-0.3d,-0.11481d]}
/execute @e[type=ArmorStand,name=MiAr_MoveTowards4,score_MiAr_Move_min=1,score_MiAr_Move=1] ~ ~ ~ execute @e[c=1,score_MiAr_Target_min=1] ~ ~ ~ entitydata @e[rm=3,c=1,type=ArmorStand,name=Minion,score_MiAr_Follow_min=1] {Rotation:[135.0f,0.0f],Motion:[-0.11481d,-0.3d,-0.27717d]}
/execute @e[type=ArmorStand,name=MiAr_MoveTowards5,score_MiAr_Move_min=1,score_MiAr_Move=1] ~ ~ ~ execute @e[c=1,score_MiAr_Target_min=1] ~ ~ ~ entitydata @e[rm=3,c=1,type=ArmorStand,name=Minion,score_MiAr_Follow_min=1] {Rotation:[180.0f,0.0f],Motion:[0.11481d,-0.3d,-0.27717d]}
/execute @e[type=ArmorStand,name=MiAr_MoveTowards6,score_MiAr_Move_min=1,score_MiAr_Move=1] ~ ~ ~ execute @e[c=1,score_MiAr_Target_min=1] ~ ~ ~ entitydata @e[rm=3,c=1,type=ArmorStand,name=Minion,score_MiAr_Follow_min=1] {Rotation:[-135.0f,0.0f],Motion:[0.27717d,-0.3d,-0.11481d]}
/execute @e[type=ArmorStand,name=MiAr_MoveTowards7,score_MiAr_Move_min=1,score_MiAr_Move=1] ~ ~ ~ execute @e[c=1,score_MiAr_Target_min=1] ~ ~ ~ entitydata @e[rm=3,c=1,type=ArmorStand,name=Minion,score_MiAr_Follow_min=1] {Rotation:[-90.0f,0.0f],Motion:[0.27717d,-0.3d,0.11481d]}
/execute @e[type=ArmorStand,name=MiAr_MoveTowards8,score_MiAr_Move_min=1,score_MiAr_Move=1] ~ ~ ~ execute @e[c=1,score_MiAr_Target_min=1] ~ ~ ~ entitydata @e[rm=3,c=1,type=ArmorStand,name=Minion,score_MiAr_Follow_min=1] {Rotation:[-45.0f,0.0f],Motion:[0.11481d,-0.3d,0.27717d]}
/scoreboard players set @e[type=ArmorStand,name=Minion,score_MiAr_Follow_min=1] MiAr_MoUp 4
/execute @e[name=Minion,score_MiAr_Follow_min=1] ~ ~ ~ detect ~-1 ~ ~ air -1 scoreboard players remove @e[c=0] MiAr_MoUp 1
/execute @e[name=Minion,score_MiAr_Follow_min=1] ~ ~ ~ detect ~1 ~ ~ air -1 scoreboard players remove @e[c=0] MiAr_MoUp 1
/execute @e[name=Minion,score_MiAr_Follow_min=1] ~ ~ ~ detect ~ ~ ~-1 air -1 scoreboard players remove @e[c=0] MiAr_MoUp 1
/execute @e[name=Minion,score_MiAr_Follow_min=1] ~ ~ ~ detect ~ ~ ~1 air -1 scoreboard players remove @e[c=0] MiAr_MoUp 1
/execute @e[name=Minion,score_MiAr_Follow_min=1] ~ ~ ~ detect ~-1 ~ ~ tallgrass -1 scoreboard players remove @e[c=0] MiAr_MoUp 1
/execute @e[name=Minion,score_MiAr_Follow_min=1] ~ ~ ~ detect ~1 ~ ~ tallgrass -1 scoreboard players remove @e[c=0] MiAr_MoUp 1
/execute @e[name=Minion,score_MiAr_Follow_min=1] ~ ~ ~ detect ~ ~ ~-1 tallgrass -1 scoreboard players remove @e[c=0] MiAr_MoUp 1
/execute @e[name=Minion,score_MiAr_Follow_min=1] ~ ~ ~ detect ~ ~ ~1 tallgrass -1 scoreboard players remove @e[c=0] MiAr_MoUp 1
/tp @e[score_MiAr_MoUp_min=1,type=ArmorStand,name=Minion,score_MiAr_Follow_min=1] ~ ~0.5 ~


# Final resets each tick
/scoreboard players reset @a MiAr_RClick

For Minecraft version 1.10.2
Click here for other versions of this command!
How to use
Give yourself a command block with /give @p command_block. Place it then paste the command from below into it. One command creations are similar to Minecraft mods, but are much easier to add to your world!
Click here for other versions of this command!