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 -> Mud -> 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

Create each the 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 4465334863609190468

Tested on Minecraft 1.20.4

  • -388 73 258 - A massive waterfall covers the side of a mountain peak in a swamp.
  • -538 85 1133 - A waterfall fills the floor of a narrow forest crevice 
  • -638 72 1459 - A stream finds multiple routes through the trees in a forest

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.