Tutorials/Water-powered boat transportation

Boat transportation is a flexible and reasonably easy way to transport mobs and villagers along arbitrary paths (even uphill!) using only flowing water, without the need for any tool more exotic than a bucket and without any materials more exotic than water, buttons or signs, and common building blocks. No rails, minecarts, redstone gadgets, or bubble columns are needed, just a boat and water. With proper water management, one can construct flowing moats around arbitrary areas in which a boat can circle endlessly. The boat can even change elevation up or down using only the power of water flow.

Water management
Signs or buttons are used to block the water at the end of the flow in a channel, forming a gap between one channel and the next. The current from the end of the first channel pushes the boat into the gap, and the second channel's current must pull the boat across the gap, otherwise the boat gets stuck in the gap. The trick to pulling the boat into the next channel is to use only one water source block on each channel, right next to one of the buttons, to create a flow away from the gap.

To make channels wide enough to transport a boat, and remain on a level surface without changing elevation (elevation changes are described later), the water flow must be managed so that the channel can turn a corner, or keep moving in the same direction. The schematics below illustrate a method of creating a corner turn, and methods of extending travel in one direction by shifting the flow over a bit when the water runs out from the water source block.

The flow arrows are going to be diagonal in any implementation of a closed-loop flowing moat. This is fine. The important thing is to have one flowing region push the boat into the gap, and the next flowing region pull the boat out of the gap.

As the boat crosses the gap, it appears submerged briefly under the next flow until it clears the gap, after which it floats up. This is not a problem; the boat does not capsize.

When making the gap, you can use either buttons or signs. Buttons work as well as signs and use less wood to craft.

Extending a straight channel
Water flows only so far before it dies out. To continue the channel in the same direction, it needs to be extended. You can do this with a gap and either one or two water source blocks on the other side of the gap. Two water source blocks provide a flow straight down the channel, which moves the boat faster. These transitions can be stacked indefinitely.

Turning a corner
A corner involves creating a gap just before or after the corner, and starting the new flow on the other side of the gap. The new flow must flow away from the gap.

In the first example, the next turn or shift must be to the right, because that is the direction of the diagonal flow.

In the second example, the source block can be on either side of the channel, depending on the direction of the next turn or shift. The water should flow diagonally to the right if the next turn is to the right, and diagonally to the left if the next turn is to the left.

In the third example, you can have another straight flow only in the same direction; you cannot have a new straight flow perpendicular to a previous straight flow, or the boat cannot be pulled across the gap. The straight flow must end with a gap across it, and if the next flow is a turn, it must have a diagonal flow to pull the boat across the gap properly. Otherwise the straight flow can be continued with another straight flow.

Shifting to one side
Often you may want to continue a flow in the same direction but shift it to one side by one or more blocks, to align the flow with something ahead. You can stack these single-block shifts, making a diagonal channel, until the water runs out, and then you must create a new gap. Just make a channel that keeps shifting to the left or right as needed.

The directional shift (not the flow) can be perpendicular to the desired direction, or diagonal. The boat's movement is slightly faster with the gentler turn into a diagonal flow.

Either the first or second designs can be adjusted easily for a two-block shift.

Example: Endlessly circling moat
The smallest circling pool that can accommodate a boat has one solid block in the center and four quadrants of water flowing from one corner of each quadrant. This design requires a 7×7 area, 1 layer, 4 water source blocks, and 8 buttons or signs — one on each side of the central block and one on the wall opposite each central sign or button.

Floating uphill
It is actually possible to cause a boat to float uphill using only the power of water flow; no fancy techniques like pistons or bubble columns are required. A boat can be made to float up a slope as steep as $1/2$ (one block elevation per two blocks horizontal distance) with careful attention to water flow management.

The concept involves a zig-zag water flow, changing diagonal direction at each step, while ensuring that all surface water is flowing, and the necessary deeper water at the step is used to buoy the boat up into the flowing water. As with the level-ground water management techniques described above, each section of water flow must push the boat across an empty space into the next flow, and the next flow must pull the boat out from the previous flow.