(EDIT: It turns out that due to changes to villager mechanics since last I built one of these, the infinite villager spawner does not actually infinitely spawn villagers. There needs to be a 9 block vertical distance and I only built a six block difference. So, anybody who wants to build one, don't follow precisely the method described here. It will work for a short time and then your villagers will stop spawning.)
Today we showcase a villager trading system.
Here is the infinite villager breeder, in manual breeding mode. The two sand blocks prevent baby villagers from escaping the breeder, allowing the core group of villagers to grow for overall faster breeding. When finished, the sand will be removed, allowing baby villagers (who are short) to escape the breeder out to the sides, where they will get stuck on the different height of soul sand, unable to get back in. They remain on the left and right sides of the breeding area until they grow up, at which point they become tall enough that their heads touch the water and they swim up until the water stream picks them up and carries them out to the drop shaft on the right.
Next, we have the required doors, 6 blocks below the breeding area and one villager locked into place by half slabs. This registers the six doors as a valid village but the breeders are far enough away that they don't get counted by the villager counter. The result is that regardless of how many villagers exist, the village thinks it has only one villager, and allows more to be bred.
Next we have the holding cells to which newly grown up villagers are delivered by the water stream.
And here is a front view of those chambers. The villager is standing on a jack o lantern with a pressure plate on it. When the water carries a villager onto the pressure plate, it triggers a piston behind him that both traps him in that one block area while simultaneously cutting off the water stream, allowing villagers to be delivered to other holding cells. In theory, he should have gone to the cell on the left, but it's an imperfect system. Villagers try to move around while they're being carried by water, and sometimes they manage to skip cells.
Sadly, the first villager we bred was a priest with a useless glowstone trade. So, we pull the lever, crushing him and clearing up the cell for the next villager. 20 minute test run complete, time to breed more villagers.
Materials used:
* One piston, one sticky piston, one pressure plate and one lever per chamber. 10 Chambers built and ready, room for ~30 total.
* A whole lot of brick
* A whole bunch of jack o lanterns
* Some half slabs
* Six doors
* Roughly a stack of glass
* ~100 rails and a minecart to bring in villagers
* A couple efficiency IV diamond pickaxes to mine out the 9x58x8 area I put it in. First time I've ever built one of these underground. It's much easier to put them on the surface.