The Minecraft water modelling is quirky to say the least. The most irksome behaviour is often experienced when dealing with large, deep bodies of water. Scooping up a water block from the surface of a lake or ocean 2 or more blocks deep will cause a whirlpool to appear. Removing solid blocks from a coastline leaves impossible waterfalls. Minecraft player Zarigani felt it was about time that this was fixed and made his Falling Water mod. Have a look:
Zarigani’s solution is a 2-step implementation that works with the current model, rather than rewrite it. Step 1 is to change how flowing water works with water source blocks. Instead of flowing into the source block, it now flows over it as if it was a solid block. This allows you to pour water onto a body of water and have it flow on top, making 2+ deep pools with no underwater currents is now possible. Step 2 is to allow unsupported water blocks to fall. This allows you to dig underwater annot end up with water currents. The water above the removed bloack all falls and the gap at the surface can be re-filled by water flowing from the source blocks to the side.
Falling water isn’t the only water mod out there. You may be interested in Finite Liquid which approaches the problem by implementing a solution similar to what Dwarf Fortress use. Water flows more realistically and even pressure is rudementally modelled so that U-bends will equalize, Pascal would be so proud. Rainfall also creates more water and there is also pipes, pumps and other blocks to play with. Trapped pockets of combustable methane is also in the mod. It is however more CPU intensive than Falling Water and as such large bodies of water don’t get the Finite Water modelling and it falls back on the default model.
Falling Water is currently available for 1.8.1 Beta and 1.9 PR5. There isn’t much documentation but it appears to be a pair of .class files that you drop into a Minecraft.Jar that has ModLoader already in it. No word of Server Compatibility or any sort of plugin.