Tutorials/Village chaining

Village chaining is the process by which one can move village centers abnormally close to, or within, each other. This is a process that is commonly used in making highly efficient and compact iron farms. It was first discovered in 1.4.2, and has been used ever since. The process was originally discovered and introduced to the majority by TangoTek.

This tutorial will teach you how to chain villages - typically used in the spawning part of large, efficient iron farms - from scratch. If you only want examples, visit Tutorials/Iron golem farming. This is also created specifically for the Computer edition. Info may be inaccurate when applied to other versions.

Non-Concentrical and Concentrical
Non-concentrical chained villages are the first to be discovered. Their component villages' centers is usually arranged on a line and are not put in the same position.

On the other hand, concentrical chained villages are discovered much later. They have all component villages' centers in the exact same spot.

Comparing the non-concentrical version to the concentrical version

 * Pros
 * Easier and simpler to create.
 * Cons
 * Less space-efficient.
 * Require a whole lot more door placing and breaking if it is non-resettable, and a lot more doors if it's auto-resettable.
 * Require more villagers.

Non-Resettable and Resettable
Because even the quickest reloading of chunks(usually done in autosaving, and affects most kind of chunk loaders) can break chained villages, chunks containing them must never unload as long as the game is open, or else the whole thing will merge.

The solution to this is either putting the whole chained village in spawn chunk or its equivalent, then use a little trick to continue loading the chunks even when no player is in the same dimension as it - a.k.a. the non-resettable solution - or use redstone to rechain the village whenever the player needs - a.k.a. the resettable solution.

The resettable solution is primarily used when chunk permaloading can not be achieved(for example in a Spigot server), or when the chaining process is so complex it can not be done manually(such as in concentrical chained villages).

Game mechanics and mechanisms used in village chaining
''Note: 1. Before getting to the advanced, please visit Tutorials/Village_mechanics first to learn the basics.

2. Mechanisms discussed in this section are for 1.8 and above only, however game mechanics discussion are for all versions that have villages.

3. To prevent itself from being unnecessarily long or wide, figures in this section use wood planks and fences to represent door positions and village radius, respectively. The minimum village radius in those figures is 5 blocks and the merging range is radius + 5 blocks instead of 32 blocks and radius + 32 blocks like the real game.''

Village merging priority & Border extender
If all the chunks containing villages are not reloaded, village merging will only be considered when a villager detects new doors. If there are multiple villages in range, only the most eligible village to merge with a door will get merged with it. All the other in-range villages are ignored. Thus, villages with overlapping boundaries are possible.

Before 1.8, the older a village is the more eligible it is to merge with a new village. Consequently, village chaining back then primarily used the merging range to prevent villages from merging initially. From 1.8 however, the nearer a village to a door the more eligible it is to merge with the door. This makes village chaining tougher, but also much more predictable, allowing a village to extend from a far spot to overlapping with a preexisting village. It also doesn't break chained villages from older versions as long as it is kept loaded, but old reset mechanisms no longer work.