Minecraft Java Edition – How to Teleport a Specific Villager to a Specific Player in Minecraft

minecraft-commandsminecraft-java-edition

I'm making a Minecraft map based on the play Hamilton, and I have a villager posing as Eliza. If you've seen the play or just know of his life, you know that Eliza is Hamilton's wife. I want a command that will teleport Eliza 2 blocks behind the player of the map. I will have the command in a repeating command block, so it will seem that Eliza is following the player around.

Because this is a singleplayer map, @p will work fine as the selector.
The villager's custom name is Eliza.

Thanks in advance!

Best Answer

Summen the villager like that (He will be in "god mode" and will not move)

/summon Villager ~ ~1 ~ {CustomName:"Eliza",CustomNameVisible:1,Profession:0,Invulnerable:1,NoAI:1}

To teleport the villager to the Player put this cmd into an repeating cmd block

/tp @e[name=Eliza,type=Villager] @p

The problem is, that the villeger is exactly in the player. To soolve this, we'll add a kind of delay.

Create a scoreboard:

/scoreboard objectives add lifeTime dummy

Then a repeating cmd block chain:

/summon ArmorStand ~-2 ~ ~ {CustomName:"Follower",Marker:1b,Invisible:1,Invulnerable:1,NoGravity:1}
/scoreboard players add @e[type=ArmorStand,name=Follower] lifeTime 1
/tp @e[score_lifeTime=1,type=ArmorStand,name=Follower] @p
/execute @p ~ ~ ~ tp @e[name=Eliza,type=Villager] @e[score_lifeTime_min=20,type=ArmorStand,name=Follower,rm=2]
/kill @e[score_lifeTime_min=20,type=ArmorStand]

Setup

The player will then follow the player but will not go nearby the player (2 blocks radius)

Generator for summon commands: https://mcstacker.bimbimma.com/

Command selectors: http://minecraft.gamepedia.com/Commands#Target_selectors

Plugin for visible Commands: CommandDescriptor by SimonMeusel: https://www.spigotmc.org/resources/commanddesciptor.23870/