Minecraft wiki entry for Villager, associated text: Villagers must have enough beds within village bounds for baby villagers to spawn. The villager must be able to path-find the bed from their current position. (Note that mobs view slabs as full blocks for pathfinding, so putting upper half slabs above a bed invalidates the bed.)