So, while playing around with a few friends we decided to build up a starter village since the last generate village may of met an, unfortunate end no fault of ours. Regardless though, we quickly ran into a question regarding how expansive some of our houses were when the villagers began breeding well above what the village "should" be able to hold. This question mainly focused around two buildings in the village, a 2 room large house and our farm house, and exactly how many homes they counted as.
Since I couldn't figure out how to upload photos into the post itself their tag on as attachments. (Large House Outside & Large House Rooms). The main point of confusion is rather or not this building counts as 1, 2, 3 homes. On the outside there's a single door for the entrance but, on the inside there's 2 more doors leading into separate rooms. I know the front door counts as 1 home but, I honestly have no idea on the two other doors inside the home. (I'm pretty sure they don't but still.)
On the farm house it's a slightly different story. The farmhouse has 3 exterior doors, one of which can't be seen in Farmhouse Outside. If I'm not mistaken I believe this counts a 3 homes but, my confusion comes from the doors on the inside. In Farmhouse Inside& Farmhouse Inside 2 you can see two doors both on the inside of the structure that lead into 2 rooms and two doors more leading outside to a balcony from said rooms. Do these also count as separate homes or are the simply extensions of the main building? A bit of clarification on the both of these would be wonderful.
A door only counts as a "house" if one simple requirement is met - that the number of spaces with a direct view of the sky on one side of the door exceeds the number on the other side within 5 blocks in either direction:
A "house" is defined as a wooden door with an "inside" and an "outside." The "inside" is the side which has more spaces covered by "roof" blocks than the other, within five spaces horizontally of the door in the two directions it faces. A "roof" block is an opaque block at any height that blocks direct sunlight from reaching the spaces below it.
Example - The door is placed on the wooden planks. The game checks the spaces represented by the light blue wool, to see if they are covered by a "roof" block or not:
The simplest house looks something like this. Just a wooden door, with a dirt block on the ground next to it:
If an interior door is entirely under a roof on either side it will not count, but if you have a door which is less than 5 blocks away from an outer wall, overhang, or skylight then it will count (intervening walls do not matter as the game simply checks to see if the y-coordinate of the highest block at a location is higher than the coordinate of the block the door is on (thus why the example shown above works); because only blocks which at least partially block light count this means that a ceiling made out of e.g. glass will not count as a roof).
Only "valid doors" will count. The link above explains this better, but basically the game looks at the 5 blocks directly in front of the door and the 5 blocks behind the door. In order for the door to be "valid," one side of the door has to have more blocks exposed to open sky than the other side. The side with more sky-exposed blocks is defined as the "outside", and the side of the door that has roof blocks behind it (in other words opaque blocks blocking light from the sky) is defined as the "inside." Therefore, doors inside houses that have no exposure to sky on either side would not count as valid doors.
Every 3.5 valid doors counts towards one more potential spawned villager as far as I understand it. So you need a lot of doors to make them breed. I build apartment buildings with lots of doors, sometimes with 2 floors, as long as there are steps up to the second floor and the villagers can access it. They breed like crazy once you get the valid doors going.
Just how "hilly" is your village? Cause frankly, if you are only unsure about 3-4 doors, the difference is one extra villager. Now those balcony doors definitely count and they will elevate the geometric center of the village. If houses are mostly on hills and fields are in valleys, and villagers coming out to socialize find themselves 6 blocks below village center, they will consider themselves in village but not count towards village population cap, causing them to breed.
So, most of the doors in your pictures appear not to be valid doors.
But note that villagers that are 6 or more blocks above or below the center of the village (as determined by the positions of the valid doors) aren't counted in the population cap. That could be a factor if you are getting more villagers than expected.