Tutorials/Water-powered boat transportation

Water-powered boat transportation is a flexible and reasonably easy way to transport mobs and villagers along arbitrary paths (even uphill!) using only the power of flowing water, without the need for any tools more exotic than a bucket and pickaxe, and needing only three common materials (water, buttons or signs, and common building blocks). No rowing, 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.

The illustrations in this article control water using buttons. You can use either buttons or signs. Buttons require less wood to craft, and are easier to identify in the illustrations.

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.

Basic up-step
To float a boat up a step, the construction requires blocks to form a channel with a step, four buttons (or signs), one water block, and one temporary block (such as dirt) to be removed as the final step.

In the blueprints below:
 * Stone represents the water channel.
 * The water flow direction is up in these illustrations.
 * The buttons are shown unattached in the diagrams. Each button is actually attached to the channel wall nearest to the button.
 * The incoming water is assumed to be diagonal flow up toward the temporary dirt block.

The final block to be placed is the water source block. The temporary block of dirt causes the water to flow over the step. Without the block of dirt, the water simply stops at the step. After the water is placed, destroy the block of dirt.

The incoming water in the lower channel should be upward diagonal flow toward the dirt block on the left. The water block on the left resumes the flow diagonally upward to the right.
 * Up step with zigzag flow left to right

Each successive step is a mirror image of the prior one. Here, the incoming water in the lower channel should be upward diagonal flow toward the dirt block on the right. The water block on the right resumes flow diagonally upward to the left.
 * Up step with zigzag flow right to left

Remember the dirt block shown is temporary. It must be removed after placing the water source block.

How it works
After the final dirt block is removed, the two-block-wide space in front of the step has a void space (occupied by a button) and a still-water block (where the dirt used to be). Another void space is upstream ("downhill" direction) one block diagonally from the void space at the step. Otherwise the channel is completely filled with flowing water. Because the boat is bigger than one block, it does not get stuck in either void space. The current pushes the boat diagonally into the still-water block at the bottom of the step, at which point the boat floats up into the flowing water above, and the boat continues on its way.

The boat is always floating downstream, but at each step, it runs into submerged still-water block that buoys the boat up into the next flow. In this way the boat can climb uphill.

The boat submerges while navigating the step, but mobs in the boat do not drown. The top half of a villager's head is always exposed when the boat is submerged.

Practical construction
Here is a simple procedure for constructing a water-powered uphill boat channel, using a step depth of 3 blocks for each 1 block increase in elevation. The example illustrates a channel that raises the boat in height by four steps, using only water power.