Question: what are the requirements for villagers to breed?
Answer: Any villager with an excess of food (usually farmers) throws food to other villagers, allowing them to pick it up and obtain enough food to become willing. The player can also throw bread, carrots, beetroots, or potatoes at the villagers themselves to encourage breeding.