

There must be at least one bed for each villager, and each bed must be reachable by some villager. They become willing only if the population is less than 100%. Villagers take a census of the population of their village about every minute, comparing their population to the number of available beds.

There are more parameters to willingness than just the food villagers have. So, if the farmer has free access to crops, and they are within range of a village, then that village can support the autonomous feeding of villagers. Also, a farmer villager can throw excess food to other villagers. Willingness can be increased if the player trades with the villagers. Food options for breeding willingness, per villager

Two villagers who are willing to breed, and about to create their baby. Below is a table that tells the player approximately how much food they must give to a villager before they can be willing. To feed villagers, the player must throw the food to them, and let them obtain it in their inventory. There are many factors of willingness, but it depends mostly on the food that the player feeds the parents. If two villagers nearby are willing at the same time, they meet and spawn a baby villager in between them, like other passive mobs. The decision for a villager to show heart particles depends on how "willing" a villager is to mate. However, the player can provide ideal accommodations (beds and food) to make the process efficient. Unlike for other breedable mobs, villager breeding cannot be forced.
