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