Villager Player

Make your villagers look like players!

Supported Versions:

1.21.101.21.11+

Commands by Row:

Row 1

1. [impulse] /scoreboard objectives add villagerSleeping dummy

Row 2

2. [impulse] /team add collision

Row 3

3. [impulse] /team modify collision collisionRule never

Row 4

4. [repeat] /execute as @e[tag=villagerPlayer] at @s run team join collision
5. [chain] /execute as @e[tag=villagerMann] at @s run team join collision
6. [chain] /execute as @e[tag=villagerMann] at @s run attribute @s minecraft:scale base set .99
7. [chain] /execute as @e[tag=villagerPlayer] at @s run effect give @s minecraft:invisibility infinite 1 true

Row 5

8. [repeat] /execute as @e[tag=villagerPlayer] at @s run tp @e[tag=villagerMann,type=minecraft:mannequin,distance=..1,sort=nearest,limit=1] ~ ~ ~
9. [chain] /execute as @e[tag=villagerPlayer] at @s unless entity @e[tag=villagerMann,type=minecraft:mannequin,distance=..1,sort=nearest] run summon minecraft:mannequin ~ ~ ~ {Tags:[villagerMann]}
10. [chain] /execute as @e[tag=villagerMann] at @s unless entity @e[tag=villagerPlayer,distance=..1,sort=nearest] run kill @s
11. [chain] /execute as @e[tag=villagerMann] at @s run data modify entity @s Rotation set from entity @e[tag=villagerPlayer,distance=..1,sort=nearest,limit=1] Rotation

Row 6

12. [repeat] /execute as @e[tag=villagerPlayer] at @s store success score @s villagerSleeping run data get entity @s sleeping_pos
13. [chain] /execute as @e[tag=villagerPlayer] at @s if score @s villagerSleeping matches 1.. run data merge entity @e[tag=villagerMann,type=minecraft:mannequin,distance=..1,sort=nearest,limit=1] {pose:"sleeping"}
14. [chain] /execute as @e[tag=villagerPlayer] at @s if score @s villagerSleeping matches 0 run data merge entity @e[tag=villagerMann,type=minecraft:mannequin,distance=..1,sort=nearest,limit=1] {pose:"standing"}

Row 7

15. [repeat] /execute as @e[tag=villagerPlayer,nbt={VillagerData:{profession:"minecraft:none"}}] at @s run data merge entity @e[tag=villagerMann,type=minecraft:mannequin,distance=..1,sort=nearest,limit=1] {profile:""}
16. [chain] /execute as @e[tag=villagerPlayer,nbt={VillagerData:{profession:"minecraft:farmer"}}] at @s run data merge entity @e[tag=villagerMann,type=minecraft:mannequin,distance=..1,sort=nearest,limit=1] {profile:"xievha"}
17. [chain] /execute as @e[tag=villagerPlayer,nbt={VillagerData:{profession:"minecraft:cleric"}}] at @s run data merge entity @e[tag=villagerMann,type=minecraft:mannequin,distance=..1,sort=nearest,limit=1] {profile:"a5t6"}
18. [chain] /execute as @e[tag=villagerPlayer,nbt={VillagerData:{profession:"minecraft:armorer"}}] at @s run data merge entity @e[tag=villagerMann,type=minecraft:mannequin,distance=..1,sort=nearest,limit=1] {profile:"Victoh"}
19. [chain] /execute as @e[tag=villagerPlayer,nbt={VillagerData:{profession:"minecraft:butcher"}}] at @s run data merge entity @e[tag=villagerMann,type=minecraft:mannequin,distance=..1,sort=nearest,limit=1] {profile:"VintageBeef"}
20. [chain] /execute as @e[tag=villagerPlayer,nbt={VillagerData:{profession:"minecraft:cartographer"}}] at @s run data merge entity @e[tag=villagerMann,type=minecraft:mannequin,distance=..1,sort=nearest,limit=1] {profile:"Monocle"}
21. [chain] /execute as @e[tag=villagerPlayer,nbt={VillagerData:{profession:"minecraft:fisherman"}}] at @s run data merge entity @e[tag=villagerMann,type=minecraft:mannequin,distance=..1,sort=nearest,limit=1] {profile:"Grian"}
22. [chain] /execute as @e[tag=villagerPlayer,nbt={VillagerData:{profession:"minecraft:fletcher"}}] at @s run data merge entity @e[tag=villagerMann,type=minecraft:mannequin,distance=..1,sort=nearest,limit=1] {profile:"DexSc"}
23. [chain] /execute as @e[tag=villagerPlayer,nbt={VillagerData:{profession:"minecraft:leatherworker"}}] at @s run data merge entity @e[tag=villagerMann,type=minecraft:mannequin,distance=..1,sort=nearest,limit=1] {profile:"Felissiaa"}
24. [chain] /execute as @e[tag=villagerPlayer,nbt={VillagerData:{profession:"minecraft:librarian"}}] at @s run data merge entity @e[tag=villagerMann,type=minecraft:mannequin,distance=..1,sort=nearest,limit=1] {profile:"promlument"}
25. [chain] /execute as @e[tag=villagerPlayer,nbt={VillagerData:{profession:"minecraft:mason"}}] at @s run data merge entity @e[tag=villagerMann,type=minecraft:mannequin,distance=..1,sort=nearest,limit=1] {profile:"Stone"}
26. [chain] /execute as @e[tag=villagerPlayer,nbt={VillagerData:{profession:"minecraft:shepherd"}}] at @s run data merge entity @e[tag=villagerMann,type=minecraft:mannequin,distance=..1,sort=nearest,limit=1] {profile:"Sheep"}
27. [chain] /execute as @e[tag=villagerPlayer,nbt={VillagerData:{profession:"minecraft:toolsmith"}}] at @s run data merge entity @e[tag=villagerMann,type=minecraft:mannequin,distance=..1,sort=nearest,limit=1] {profile:"Dalex6"}
28. [chain] /execute as @e[tag=villagerPlayer,nbt={VillagerData:{profession:"minecraft:weaponsmith"}}] at @s run data merge entity @e[tag=villagerMann,type=minecraft:mannequin,distance=..1,sort=nearest,limit=1] {profile:"Vxncx"}

Row 8

29. [repeat] /execute as @e[tag=villagerPlayer,nbt={equipment:{}}] at @s run item replace entity @e[tag=villagerMann,type=minecraft:mannequin,distance=..1,sort=nearest,limit=1] weapon.mainhand from entity @s weapon.mainhand
30. [chain] /execute as @e[tag=villagerPlayer] at @s run item replace entity @s weapon.mainhand with air
31. [chain] /execute as @e[tag=villagerMann] at @s if entity @p[distance=5..] run item replace entity @s weapon.mainhand with air

Preview

impulse
impulse
impulse
repeat
chain
chain
chain
repeat
chain
chain
chain
repeat
chain
chain
repeat
chain
chain
chain
chain
chain
chain
chain
chain
chain
chain
chain
chain
chain
repeat
chain
chain

Video

Too lazy to copy and paste each command?