[Sugestion]- "True Streams" (And a few other ideas)
CTH999 opened this issue ยท 5 comments
So, here's an idea. You can use a config option to make no vanilla Minecraft rivers spawn, making all the streams go to the ocean. It will also make a lake spawn at the start of the river. Also, it would be neat if canyons also spawned, at least in mesa biomes. Thanks.
Have fun!
PS. It's you mod, and these are just suggestions.
Thanks for your suggestions. I might put removing vanilla rivers as an option in the future, but this could confuse players who expect streams to be longer as a result. Each stream is generated in a square zone of X chunks (currently 8), if there's no body of water on the edges of that then there's nowhere for the stream to end and therefore no stream. The river zone size will be configurable in future versions but bigger zones mean more lag as more chunks need to be pre-generated just for streams.
Adding lakes as alternate stream sources is in the plans, but somewhat long-term. Again, it's a trade-off between the size of the river zone and the portion of that occupied by a lake vs a longer river.
Finding a good balance between canyons and tunnels (used to be all canyons, now it's all tunnels) is also a work in progress.
Thanks!
Maybe for the chunk thing, having a stream, and if there is no water source, then it makes a lake. Then, when you generate the lake, it repeats, until it reaches the ocean. (Or another method of decreasing lag)
I'm planning on learning how to mod (I'm thinking right after release 1.13. After that, maybe I can help if you need it)
Have Fun!
For the pre-generating: https://old.reddit.com/r/feedthebeast/comments/5x0twz/investigating_extreme_worldgen_lag/
Specifically the top comment is interesting:
You could generate river templates but not actually generate/spawn them until the respective chunks are loaded.
This would keep cascading world generation and generation "lag" in general to a minimum.
Hi Iorce, thanks for your comment and sorry for the long delay. The top comment on the post you linked is describing a similar process to how caves and structures currently work in vanilla (as opposed to the post itself which describes smaller terrain features like trees), so I'm not sure what's innovative about that approach.
Streams does work like a pre-generated structure and only builds into a chunk as it gets generated, not outside of it. The main difference and source of lag is that Streams will pre-load raw versions of the terrain in its generation zone so it knows what the landscape is; so it definitely does more work but not in a recursive way that would cause runaway chunk generation.
I wrote a post of my own a while back, that describes feature/structure/Streams generation and references the post you link. Perhaps it might be useful, here it is: https://gist.github.com/delvr/bfac43cd48675ec74b905ffe640a6a11.