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. Supports Forge for 1.12+ and Fabric for 1.14+.
Erosion in Minecraft, just like real life, is a slow process. You must wait see to the effects or increase the random tick speed.
Goals
- 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.
Features/Rules
- 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!
Media
Installation
Fabric versions
Download the current release water-erosion-x.x.x-fabric-x.x.x.jar
and add to your installation.
Forge versions
The Forge version for Minecraft 1.12.2 is a Coremod containing an embedded copy of the org.spongepowered.asm.launch.MixinTweaker library. It does NOT require MixinBootstrap.
The Forge versions for Minecraft 1.14.4+ require MixinBootstrap. Download the current release water-erosion-x.x.x-forge-x.x.x.jar
, then download the MixinBootstrap-1.0.0.jar
. Put both files in your MinecraftForge Mod folder.
TODO features
- Optionally drop items of eroded blocks
- Configurable Erosion odds and types - Slow, Medium(default), Fast, Custom - Version 1.1.2 for Forge 1.14+ adds a config file to enable/disable Farmland erosion. 1.2.0 will contain more options.
Technical Notes
This "core mod" adds code to the Water block randomTick()
functions using the Mixin framework. randomTick()
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.
Tutorial
Sand can be generated from gravel with a simple machine
Test Areas
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.
Closed Source for now, but will be open sourced soon.
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.
Please file bug reports in the issue queue. Thanks!
In reply to g1ngerrobot:
Yes it is available here https://www.curseforge.com/minecraft/mc-mods/water-erosion/files/2930508
Hello, 13!
Just wondering if there is still a chance for an update for 1.12.2? :s
The one about reducing the speed of erosion....
please :(
In reply to pseudohuman93:
Oh! Yes, I can look at it. The worlds a mess right now as you know. Cannot give you an ETA yet, but I won't lose this task
Hello! I just tested the 1.12.2 version and it's amazing! Specially if you use it with Erosion 2!
However, I have a small issue with it :S
The erosion with "Water Erosion" happens too quickly for my taste :(
How can I tweak it to really slow it down? Like the erosion taking place for at least 7 minecraft days :(
Some lakes sink into caves with the default config :(
Ah! I was forgetting, sometimes when water drops from a mountain, the erosion takes place and can become a little bit laggy :(
In reply to pseudohuman93:
Hi Thanks!
Ah! First time, anyone has provided me an actionable preferred "slow" speed. I like the current speed, because Random Tick only occurs within 128 blocks of the player, so in many cases you'll never see it occur while exploring. This "7 day" slow speed is reasonable. Technically, I cannot make it much faster. Arguably, this current could be almost be "fast" though.
> Some lakes sink into caves with the default config :(
Can you provide a seed and position so I can see this? I've playtested new code where lakes ALWAYS erode into caves, I really like how it works out. I've found multiple caves staying dry because of just one or two block layers of sand below an entire ocean; which is silly with both water drops and sand "dust" falling. It actually works out well when caves can be located by water.
I've never tried it with Erosion 2. I suspect that the combo might be the source of the lag since, since there can be changes to blocks by both mods. Maybe not? I'm not sure. If you can reproduce with just Water Erosion please send me a seed and position. I don't want that to happen and consider it a bug.
In reply to 13rac1:
Hope the config file will come soon! :(
Sure! First of all, download the following mods:
- Traveler's Dream (plus OTG and Biome Colorizer)
- Erosion 2
- Worley's Cave
(and add Water Erosion too, of course) xD
and use this seed: 3760964503198583789
Just check any lake. The erosion will happen quite quickly and the floor will start to sink :(
If you want to test the lag issue, just go north from point 0,0. You will find mountains up north with lost of waterfalls.
If you want to check the ocean floor, just go south from point 0,0 until you are 3000 blocks away. You will find an ocean there or you will be quite close at least.
In reply to pseudohuman93:
I'm fairly certain this issue is an interaction between Water Erosion and Erosion 2. I didn't design Water Erosion to work with Erosion 2, but I had to implement a few of the same features to complete my vision for Water Erosion functionality. Erosion 2 changes blocks near you. Water Erosion changes blocks when water flows over them. I doubt this is an interaction I can do anything about. I suggest running one mod or the other, but not both. I'll test this over the weekend and see if there's any solution.
Just a suggestion: still water shouldn't erode blocks around it!
In reply to tloriato:
There are strict limitations on how "Source" block erosion works. It only happens when the water finds open space within 14 blocks of the fluid flow. Overall, the vast majority of new waterfalls and creeks would not be created without this feature though. Realistically, one meter (3ft) of dirt cannot hold back 1000s of liters (or gallons) of water; I want to mimic that.
How well does this mod work when combined with Dihydrogen Monoxide Reloaded?
In reply to Martmists:
First I've heard of Dihydrogen Monoxide Reloaded (DMR), but it is super new. It's great seeing other water-related mods!
Water Erosion is designed to complement Minecraft's default infinite water; it implements a "missing" feature of the stock game. DMR is a finite water mod. There's simply not enough water in the stock world gen system to support finite water and erosion. Water Erosion will drain finite water lakes and underground aquifers. I recommend against using these two mods together. I imagine the way for the two mods to work together, without problem, is if someone creates the rest of the water cycle: a vastly different world gen with much larger lakes and underground aquifers (re)filled by rain evaporated from the sea and snow melt from large mountains. Would be an awesome, but huge undertaking and probably not CPU friendly.
Absolutely wonderful MOD!
I'm just waiting for (in its current form ruining my game):
- the option of blocking erosion of farmland! (must have)
- Configurable Erosion (from your TODO)
:)
In reply to Forge_User_02391701:
Hi! Thanks!
Farmland: Yes, I'm considering releasing a 1.1.2 to just handle this feature request.
Configurable Erosion: How do you want to configure it?
In reply to 13rac1:
For exp.:
- how fast erosion will work
- blacklist for blocks (like this farmland problem)
In reply to Forge_User_02391701:
Published version Water Erosion 1.1.2 for Forge on 1.14.4 and 1.15.2. Adds water-erosion.toml configuration file to enable/disable Farmland erosion. A better, but much more complex to implement solution is: Feature: Implement time since last block change to support "Minimum existence time before erosion"
Hello! I have a few questions! (Consider the question for version 1.12.2, since there is no versions of Streams or Erosion 2 for newer updates)
1. Is this mod compatible with the "Streams" mod?
- https://www.curseforge.com/minecraft/mc-mods/streams
2. Is this mod similar to the mod "Erosion 2"?
- https://www.curseforge.com/minecraft/mc-mods/erosion
If so, does it have similar features?
If not, are you considering the possibiliy of adapting some ideas of the dead mod? (Erosion 2)
Thank you in advanced for your response! :)
In reply to pseudohuman93:
Hello!
1. It should be compatible with Streams, but I haven't tried it. I believe Streams uses stock water blocks, if so Water Erosion is compatible.
2. Yes. Water Erosion is now similar to Erosion 2, although I didn't start any intention to re-implement that mod. My original goal is to "bringing to life" the waterfalls and streams the stock worldgen sets up, but doesn't complete. "One sand block cannot stop a lake from making a waterfall! I should make a mod to break that sand box..." The new block decay hierarchy feature creates blocks similar to Erosion 2. What features would you like to see?
Does this mod work with 1.12? Looks cool though:))
In reply to Forge_User_55833367:
Yes,
only an alpha version right now while I work out some annoyances. It has slightly less features too, but few people will notice. https://www.curseforge.com/minecraft/mc-mods/water-erosion/files/2922136Update: Everything seems to be working well, though minor features are still missing, 1.1.1-beta1 for 1.12.2 is available https://www.curseforge.com/minecraft/mc-mods/water-erosion/files/2930508
In reply to 13rac1:
Thank you for your very fast answer!