Why won't my villagers breed

This applies to Minecraft versions 1.8.0 - 1.13.x

The 1.14 Village and Pillage update changed breeding mechanics again

That your Villagers are entering into "mating mode" (i.e. they occasionally have hearts floating out from their bodies) is a good sign. It implies that the Villager's surroundings are suitable for breeding to occur.

However, with the 1.8 release Villager breeding has been tweaked. Villagers now also have to be "willing" to breed, being in "mating mode" isn't enough anymore.

From the Minecraft Wiki:

Willingness

Additionally, villagers must be "willing" in order to breed. After mating, they will no longer be willing.

Villagers can become willing by the player trading with them. Willingness is granted the first time a new offer is traded, or at a one-in-five chance on subsequent trades. This will not cause them to immediately seek out a mate, however.

Villagers can also become willing by having either 3 bread, 12 carrots or 12 potatoes in one stack in their inventory. Any villager with an excess of food (usually farmers) will throw food at other villagers, allowing them to pick it up and obtain enough food to become willing. You can also throw bread, carrots, or potatoes at the villagers yourself to encourage breeding.

That would suggest that it's this new "willingness" mechanic that's actually holding your village back. As the article suggests, you should be able to make the Villagers more "willing" by throwing enough food at them. A caveat though: don't expect this to be quick when your initial population is small!


Note: This answer does only apply for Minecraft version 1.7.10 or lower.

Answer by Kcats:

If one of them has the heart particles, you've done everything correctly. Give them more time and they'll breed.


This answer is for 1.14+. I am testing all of this in 1.16

1.14 came with a HUGE change to the villagers. One of the numerous things affected was the breeding. Not only do they need to be willing, but they also need to have a bed for the baby, and they do not need doors.

A few things to note from the Minecraft wiki:

  • Job sites are not required for villagers to breed. The breeding depends on the number of valid beds.
  • If a villager is "willing", villagers breed as long as there are unclaimed beds available within the limits of the village.
  • The beds must have 2 blocks of clearance above them because there needs to be room for the baby villager to jump on them. This means that the baby villager needs to be able to path-find the bed; it can't be in an unreachable spot.
  • Villagers can become willing by having either 3 bread, 12 carrots, 12 potatoes, or 12 beetroots in one slot in their inventory.

Based upon this, a new house design can be constructed. You need at least 3 accessible beds, which are all in rooms of 3 blocks or higher. You also need a place where you can give them foodYou do not need job sites for them to breed, however I will include them in my design, simply because they are essential for trading.

First, a simple bedroom, which you can see, has worked: Example 1

Because the roof is flat, you can easily put a small hatch in the roof, to toss food in, or to put a dispenser in it, to do the work for you. after this, I simply added a trading station in the front. I also put slabs there, because the baby villagers were constantly jumping on top of the lecterns, and running away. One other thing to note is that you need at least 4 villagers to spawn an iron golem, so you could make this design a mini iron farm by introducing a zombie, and making the house one wider.

Example 2

Example 3