Minecraft – How often is the village census taken

minecraft-java-edition

All the minecraft Wikis are out of date when it comes to village mechanics. If you google it, you get results for 1.8 and 1.9 village mechanics as if we're still living in 2014…

I'm pretty sure my villagers are refusing to breed because the population cap is met (hearts appear, beds are accessible, but they go angry mode and give up). This was expected, I'm just testing some breeder designs and the baby villager chamber was too close to the breeding pair. I move them further away but the villagers still won't breed. From the limited info I could find on breeding mechanics:

"A village census is periodically taken to determine the current population"

Okay, great… So what does "periodically" mean? Is it random tick based? On a timer? How long you gotta wait before the population is updated??

Best Answer

I believe your information about the "census" is as outdated as the rest. In 1.14+ there's no population cap as such. Simply, the two villagers breeding AND their baby must be able to pathfind to their beds (not necessarily reach them; pathfinding has its quirks like misinterpreting trapdoors). The check occurs at the moment of attempted breeding; breeding won't be attempted if one (or both) of parents doesn't have a pathfindable bed. It will fail (cloud particles) if there's no free bed pathfindable by the child.

The distance of the child from the parents doesn't matter - the position may be quite close but must be unable to pathfind to its bed. You should also take into account bugs - occasionally villagers fail to free up beds they are no longer able to pathfind to. You'll need to break and replace such beds in this case.