Tutorials/Villager farming

All you need to breed villagers in the latest update is a big enough space with 3 beds and give each villager 3 bread or other crop; then they create a baby villager.

Purpose
Farming villagers can be beneficial for a lot of reasons. If the player has a villager trading hall, then the player must fill it with villagers and replace the ones that the player discards. It is difficult to do this through kidnapping villagers alone, so having an artificial breeder can be very helpful.

Another use is for an iron golem farm as they work with a certain number of villagers; see Tutorials/Iron golem farming.

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

Willingness can be increased if the player trades with the villagers. Also, a farmer villager can throw excess food to other villagers. 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.

There are more parameters to willingness than just the food villagers have. Villagers take a census of the population of their village about every minute, comparing their population to the number of available beds. They become willing only if the population is less than 100%. This depends on the number of beds. There must be at least one bed for each villager, and each bed must be reachable by some villager. If there is an excess of beds, villager breeding commences.

The beds require a full two blocks of space above them; the bed itself counts as a full block, and so does any top slab that may be used for the ceiling. Essentially, the baby villager needs to be able to bounce on the available bed.

A historical note: The current breeding mechanics were instituted by the the Village & Pillage update; where the population limit is now set by number of beds, formerly it was set by the number of doors in the village, where there were various rules defining a valid door (roughly, there had to be an identifiable "inside" and "outside").

Automatic breeder
The area around a villager breeder must be carefully scoured to ensure the breeder works correctly. The village must be small, so the player must ensure that no other villages exist within an 80-block spherical radius. No matter what the player builds, at least three villagers are needed to initiate the process. Here are the roles they play in a villager farm:
 * 1) Farmer - collect food from nearby crops to feed the breeder villagers, can be any brown-coated villager
 * 2) Breeder - collects food from the farmer and they both do the breeding work
 * 3) Detector - registers the nearby beds (doors at 1.13 or earlier) at a village so that breeding can occur

If the farmer is too busy collecting crops, it may take longer to get baby villagers. Increasing the amount of breedable villagers within the farm (by keeping bred babies inside), helps to solve that problem as well as increase breeding speed in general.

Manual breeder
To make a manual breeder, you just need to build a space big enough for 3 or more beds. Then throw the food to the villagers so that they can breed.

Designs
Here are eleven different designs for villager farms. They all produce an infinite number of villagers although the villagers in the third, ninth, and tenth videos require food in order to breed. (For the rest, the food is already worked into the design.) The first design has been tested in Java 1.16 pre-release 2 and works from 1.14 up. The next five designs are currently working on all platforms and versions running 1.14 or its platform equivalent. The following three no longer work due to the requirement for beds to breed villagers. The third, fourth, and fifth designs are confirmed to be working on Bedrock Edition 1.11, PS4 edition 1.9, and all other equivalent 1.14 systems.

Fizedi's design
Works in Java from 1.14 to 1.16

Takes advantage of game mechanic introduced in 1.14 where baby villagers really like jumping on beds.

ImpulseSV's design
Works in Java 1.15.2

LogicalGeekBoy's design
Works in 1.16 Java Edition Note: Only requires two villagers

JC Playz's design
Works in 1.16.220 Bedrock EditionNote: Untested on Java Edition