header effectheader

Water Erosion

Water erodes the landscape creating streams and waterfalls producing gravel, sand, clay, and moss

Water escapes from lakes and aquifers. Dirt and sand wash away to deepen stream beds and cut river banks. Find Forest brooks and Mountain creeks in your explorations. Pass through a dry Desert valley one day and find it flooded the next.

Erosion in Minecraft, just like real life, is a slow process. You must wait see to the effects or increase the random tick speed.


  • Implement Water Erosion as though it were a default Minecraft feature to make worlds more dynamic.
  • Provide a renewable source of Coarse Dirt, Sand, and Clay fitting into the stock game mechanics.
  • Avoid breaking stock existing game play.


  • Water flowing over an edge erodes the block below.
  • Water flowing into a block "saturates", then dissolves the "wall." Turns towards the closest air space.
  • Water flow ends "saturate", then dissolve the block below to potentially continue the flow downhill.
  • Water Sources dissolve blocks to the side in the direction of air spaces.
  • Erodable blocks include sand, gravel, clay, farmland, dirt, grass, and, rarely, cobblestone.
  • Erodable blocks have differing resistances to erosion depending on their density, but all erode over time.
  • Blocks decay during erosion to weaker blocks before disappearing.
  • Blocks decay upstream in stream beds.
  • Cobblestone and Stone Bricks grow moss near water.
  • Enable/disable Farmland erosion via config file (Forge for 1.14+ only for now)

Decay hierarchy:

  • Cobblestone -> Mossy Cobblestone -> Gravel
  • Stone Bricks -> Mossy Stone Bricks -> Gravel
  • Grass Path -> Grass -> Dirt -> Coarse Dirt -> Gravel
  • Gravel -> Sand -> Clay(rarely) -> Air/Water.

Have an idea about how it could be even better? Let me know in the comments or issues!


TODO Features



Sand can be generated from gravel with a simple machine

Test Areas

Note: All test areas were found in pre-1.17 before the major world gen updates in Caves & Cliffs, so new ones need to be located.


Create each world, teleport to the specified location, and, optionally, change the randomTickSpeed setting to speed up the process. Note: You must wait upwards of 30 real minutes to see the effects if you do not change the randomTickSpeed, such as in a survival world.

  • /teleport X Y Z
  • /gamerule randomTickSpeed NUMBER # Suggest 150

Seed -1988839586448825536

Tested on Minecraft 1.15.1

  • 1052 79 229 - A Savanna stream near a town flows into a crevasse.
  • 1103 102 467 - A Savanna hilltop lake creates multiple waterfalls, which may change direction or dry up.
  • 1303 80 579 - A Savanna underground lake breaks through the hillside to create a waterfall.
  • 1309 89 753 - A Savanna source block flows through tunnel, then creates a small steam through trees to a pond.

Seed 837828468367153798

Tested on Minecraft 1.15.1

  • 683 92 163 - A Giant Tree Tiaga hilltop lake creates multiple creeks around a Pillager Outpost.
  • 1424 89 7 - A Giant Tree Tiaga hilltop lake flows into an underground lake and to seaside wetlands.
  • 1973 93 634 - A Mountain lake creates a 30 block tall set of waterfalls into a cave and a forest.
  • 4378 70 2779 - A Tiaga underground lake flows out of both sides of a hill creating three waterfalls.
  • 4300 77 3511 - Three Plains lakes create a short river of rapids.


Water Erosion Mod Logo



Technical Notes

This "core mod" adds code to the Water block randomTick() functions using the Mixin frameworkrandomTick() is only called by the Minecraft runtime for a 128 block radius around the player, so the odds of erosion occurring are set fairly high.

Mod File Usage

These files may only be hosted directly on Curseforge.com. Mod Pack authors are free use this mod in any Curseforge-based mod pack.