Stardew Valley

File information

Last updated

Original upload

Created by


Uploaded by


Virus scan

Safe to use

About this mod

Changes the way the water flows in different locations! Rivers will flow towards the sea, beaches will swell towards the coast, and lakes will be still.

Permissions and credits

This little mod is made on a simple premise: gravity. Ever notice how water flows upwards wherever you are in the world?
We here at Making Mods, Inc. have decided enough is enough, Stardew Valley needs to finally obey the laws of physics.

With Water Flow loaded, water will flow down the mountains, along the rivers, and towards the glittering Emerald Sea.
Lakes and ponds will be perfectly still, moving only with the breeze. Sea water will lap at the beaches as usual.

1. Download Content Patcher,
2. Extract the Water Flow folder into your Mods folder,
3. Done!

   Yep, that's it! No extra setup required.

   All vanilla locations are updated to use the new water flow.

  Each location uses its own unique water table for lakes, rivers, and seas.

Example content pack:[CP]WaterFlow/content.json

Custom content creators making new maps can set the water flow for their new locations.

Add a local map property to a game location to affect its WaterFlow in any number of non-overlapping areas, as well as a global map property affecting the default WaterFlow.

If you've created a custom map, feel free to add the map properties to your map, and WaterFlow will read them if it's loaded.
If this mod isn't loaded, no changes will be made, and no errors will be raised: the map properties will quietly be ignored by the game.
You can add a map property with Content Patcher using EditMap+MapProperties, or with SMAPI+C# using Map.Properties.
Be sure to use the map asset name as the Target for your patch: using the location name may cause mismatches in some cases.

The global property takes a single parameter to define the global WaterFlow.
The local property takes any number of chained parameters in groups of 5 values each, allowing you to define multiple local areas at once.
Property value parameter groups are parsed in this order, with different groups separated by spaces:
WaterFlow X Y W H WaterFlow X Y W H . . .

Enable VerboseLogging in the config file for feedback when testing, printed to DEBUG.
With Console Code installed, set the WaterFlow with:
cs WaterFlow.ModEntry.State.Value.WaterFlow = WaterFlow.WaterFlow.Up;

You can use names or numbers as your WaterFlow values. A complete list of values can be found here:

>> github