Minecraft wiki entry for Water, associated text: When spreading horizontally, a weight is assigned to every direction water can flow. For each direction, this weight is initially set to 999[verify]. Then, for every adjacent block it can flow into it tries to find a way down that is reachable in four or fewer blocks from the block it wants to flow to. When found, the flow weight for that direction is set to the shortest path distance to the way down. Finally, water spreads in the directions with the lowest flow weight.