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 '17 at 5:10
  • ok, I used this command: /summon villager ~ ~ ~ {Profession:0,CareerLevel:1,Age:-1000000000,ForcedAge:-1000000000} – Urgence Nov 22 '17 at 2:01
  • 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.

|improve this answer|||||
  • 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 '17 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. – Fabian Röling Nov 22 '17 at 8:37
  • Correction to my previous comment: Of course you also need a closing square bracket at the end of the selector. – Fabian Röling Jan 15 '18 at 14:35
  • It's a very good solution to the problem. I will try it! Thanks! – Urgence Feb 25 '18 at 21:21

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

|improve this answer|||||
  • 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 '17 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 '17 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 '18 at 23:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.