I'm making a map and I need some of the villager's children to stay children! I tried age/forced age of -1000000, but when I summoned it, it was an adult! I don't do mods, and I'm not very good at McEdit. Can someone help?

The command I am currently using:

/summon villager ~ ~ ~ {Profession:0,CareerLevel:1,Age:-1000000000,ForcedAge:-10000‌​00000}
  • 3
    Can you be more specific about what command you tried? What did you read about /summon command syntax?
    – Orc JMR
    Nov 21, 2017 at 5:10
  • ok, I used this command: /summon villager ~ ~ ~ {Profession:0,CareerLevel:1,Age:-1000000000,ForcedAge:-1000000000}
    – Urgence
    Nov 22, 2017 at 2:01

2 Answers 2

  • Give yourself a repeating command block: /give @s repeating_command_block
  • Place it down near spawn (in the spawn chunks to be exact).
  • Click on Needs redstone to set it to Always active and write into the text box: execute as @e[type=villager,tag=baby,nbt={Age:-1}] run data merge entity @s {Age:-1000000} (remember to finish with Done)
  • Go close to the villager you want to stay a baby and enter into chat: /tag @e[type=villager,sort=nearest,limit=1] add baby
  • Repeat the last step for every villager that should stay a baby.

Setting the age to a very low negative number is only a temporary solution, for example your Age:-1000000 would expire after about two weeks. My solution keeps working forever.

  • But, when I entered the /summon command, it came out an adult immediately. And the repeating command block would make a LOT of lag. I have a very weak laptop, and it doesn't handle lag very well...
    – Urgence
    Nov 22, 2017 at 2:05
  • The command block just changes something back that the game already changes for hundreds of entities per tick, so it shouldn't be too bad. In 1.13 you'll be able to slightly improve the performance by replacing the selector with @e[type=villager,tag=baby,nbt={Age:-1}. For now you could limit the radius (like ,r=30) if you know where the baby villager will definitely be. That the summoned villager is an adult first is no problem, it will turn into a baby when you run the command. Nov 22, 2017 at 8:37
  • Correction to my previous comment: Of course you also need a closing square bracket at the end of the selector. Jan 15, 2018 at 14:35
  • It's a very good solution to the problem. I will try it! Thanks!
    – Urgence
    Feb 25, 2018 at 21:21
  • The latest upvote on this ancient answer just gave me the role "trusted user" on gamingSE. :D Feb 19, 2023 at 9:06

This baby villager will stay a baby for over 3 years of being loaded:

/summon villager ~ ~ ~ {Age:-2000000000}

Here is one of those guys I summoned a long time ago. He is in my command block graveyard. Villager

  • That still doesn't work for me. When I summoned the villager, even though it had an age of -1000000000, it came out an adult! I don't know why, but no matter what I do, it comes out an adult!
    – Urgence
    Nov 22, 2017 at 2:06
  • I just used your exact command from the comments. It produced a baby villager. I am not sure why it isn't working for you. What version do you play?
    – IronAnvil
    Nov 22, 2017 at 2:47
  • In that particular world, 1.12.2. But that's the most recent version other than snapshots of 1.13, but I don't like snapshots...
    – Urgence
    Jan 1, 2018 at 23:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .