Recently, I have been attempting to expand villages by adding new buildings, and I just got an idea for a way for it to happen automatically.
The builder is my idea for a new villager type. He is fairly rare and does not usually appear. He resembles either Roy Underhill ...
... or Bob the Builder.
The builder is a construction worker who automatically builds new building in the village.
The builder villager has his own inventory that starts out empty. When the player interacts with the builder, the builder will offer to buy various building supplies (i.e. stone, wood, wood planks, wood stairs, glass panes, doors). If he gets them, he will set about building a new building, based on the existing building types.
The front door of the building must be facing a gravel roadway or a sandstone roadway, and there must be room for the building with a minimum 1 block distance between it and any other building. The builder will level out the ground where the building will be placed, then start placing blocks until the building is complete or he runs out of supplies. If he does run out, then he will request the supplies he needs from the player the next time the player interacts with him. if he completes the building, or if the player completes the building for him, the builder will beging work on another building, provided there is a suitable building spot in the village. (The player can encourage the builder to build more by adding more roadways.)
The builder has about the same reach as the player, so he will not be able to build taller building, unless the plans include stairs or ladders that will allow him to access the upper areas.