Mods / Rivers
Author: sneezerstein
Side: Both
Created: Dec 2nd 2023 at 7:00 AM
Last modified: Feb 25th at 6:19 PM
Downloads: 22361
Follow Unfollow 493
Latest file for v1.19.4-rc.2:
rivers_2.7.0.zip
1-click install
5 month old github pull request fixing saltwater plants added.
Rivers now branch out in a fractal independent of zones. Wrong angles are impossible.
Rivers now spawn mossy boulders and fallen logs along them (disableable in config).
/riverdebug <ocean/land/full/starts/clear> to see landmasses and rivers in generated zone (requires admin).
.riverzoom on client will toggle your map zoom extremely far to see it.
Fixed water level increase in dry areas, now eases in.
Particles are disabled because they cause MASSIVE cpu problems.
Improved partioning of rivers and performance. In an area with forking rivers it should take ~3-4% of chunk generation time.
Added min/max size for rivers, min/max nodes in a river, and min/max node length.
Lakes now fade into rivers smoothly.
Waterwheels now spin at full speed if they're in the dominant direction.
flowVectors is a single array, increase index by 1024 to get Z value.
River depth automatically scales with world height.
River doesn't form quadratic valleys, instead lerps to a low landform.
Rivers can generate regenerating clay deposits in muddy gravel of all 4 types.
Optional config to adjust all clay recipes.
Rivers generate gravel along the banks.
Default config:
// When forking move at these angles.
public int minForkAngle = 10;
public int forkVaration = 35;
// When adding another node change by 0 to this angle left or right.
public int normalAngle = 20;
// Minimum and maximum size of rivers.
public float minSize = 8;
public float maxSize = 50;
// Minimum amount of segments a river must be to not be culled after map generated. Maximum amount before generation stops.
public int minNodes = 8;
public int maxNodes = 20;
// How much to grow in size each node.
public float riverGrowth = 2.5f;
// How many times a river fork can go downhill.
public int error = 1;
// Minimum length of a river node and how much to add to it randomly.
public int minLength = 150;
public int lengthVariation = 200;
// Grid for generating rivers. Don't make this bigger, it's already laggy.
public int zoneSize = 256;
public int zonesInPlate = 128;
// Chance for a river to be seeded at a coastal zone.
public int riverSpawnChance = 5;
// Chance for node to split.
public int riverSplitChance = 60;
// Chance for a lake when nodes stop.
public int lakeChance = 15;
// Segments 1 node is composed of.
public int segmentsInRiver = 3;
// How much to offset each inner segment.
public double segmentOffset = 40;
// Base and depth based on the square root of the river size.
public double baseDepth = 0.1;
public double riverDepth = 0.022;
// How much the ellipsoid carving the river should start above sea level and how big the top is in relation.
public int heightBoost = 8;
public float topFactor = 1;
// Values relating to distortion of rivers.
public int riverOctaves = 2;
public float riverFrequency = 0.0075f;
public float riverLacunarity = 3;
public float riverGain = 0.3f;
public int riverStrength = 12;
// How fast rivers and water wheels should flow, can be changed after worldgen.
public float riverSpeed = 8;
// How wide a valley can be at world height.
public double maxValleyWidth = 50;
// How many blocks of submerged land, relative to default height, a spot is considered an ocean at.
public float oceanThreshold = 30;
// Water wheel speed and torque.
public float wheelSpeedMultiplier = 0.4f;
public float wheelTorqueMultiplier = 0.4f;
// If stone should be generated under blocks with gravity.
public bool fixGravityBlocks = true;
// If rivers should emit particles on the client.
public bool clientParticles = true;
// If boulders and logs should generate near rivers.
public bool boulders = true;
// If deposits should generate.
public bool riverDeposits = true;
// How much of the river bed should be clay.
public float clayDepositFrequency = 0.2f;
// If brown and red clay should be integrated.
public bool clayExpansion = true;
// Gravel on sides of river.
public bool gravel = true;
}
Recommended settings for new version's default config: 300-400% landcover/ocean scale, 40-50% landcover.
Water wheels will rotate in the direction/speed of the river if the bottom is touching water and the center is not.
Will rotate a max speed on the dominant side for fairness.
This can result in reverse torque which might need to be converted with a large gear.
Multiple wheels can be chained in succession.
The mod data in the bottom chunk of a column contains "flowVectors" which is a float array for every block in the chunk indexed by localZ * 32 + localX. They are -riverSpeed to riverSpeed depending on the direction. If it doesn't exist there's no river in the chunk. If it does exist and the block at that index has 0 speed there's no flowing river.
localZ * 32 + localX is the X value, add 1024 to get the Z value.
ushort[] riverDistance is generated in every bottom chunk and contains the distance to the edge of the river (0 if it's inside it).
Version | For Game version | Downloads | Release date | Changelog | Download | 1-click mod install* |
---|---|---|---|---|---|---|
v2.7.0 | 6839 | Feb 25th at 6:19 PM | Show | rivers_2.7.0.zip | Install now | |
v2.6.0 | 1175 | Feb 16th at 12:34 PM | Show | rivers_2.6.0.zip | Install now | |
v2.5.0 | 2074 | Feb 10th at 4:11 PM | Show | rivers_2.5.0.zip | Install now | |
v2.4.0 | 2256 | Feb 4th at 11:30 PM | Show | rivers_2.4.0.zip | Install now | |
v2.3.0 | 1313 | Jan 30th at 1:17 AM | Show | rivers_2.3.0.zip | Install now | |
v2.2.0 | 290 | Jan 28th at 10:07 PM | Show | rivers_2.2.0.zip | Install now | |
v2.0.0 | 1111 | Jan 23rd at 1:04 AM | Show | rivers_2.0.0.zip | Install now | |
v1.3.0 | 104 | Jan 23rd at 2:34 PM | Show | rivers_1.3.0.zip | Install now | |
v1.2.0 | 1146 | Jan 18th at 5:51 PM | Show | rivers_1.2.0.zip | Install now | |
v1.1.2 | 1808 | Jan 4th at 7:58 PM | Show | rivers_1.1.2.zip | Install now | |
v1.1.1 | 2335 | Dec 10th 2023 at 10:47 AM | Show | rivers_1.1.1.zip | Install now | |
v1.1.0 | 720 | Dec 5th 2023 at 10:06 AM | Show | rivers_1.1.0.zip | Install now | |
v1.0.4 | 231 | Dec 4th 2023 at 5:34 AM | Show | rivers_1.0.4.zip | Install now | |
v1.0.3 | 98 | Dec 3rd 2023 at 10:50 PM | Show | rivers_1.0.3.zip | Install now | |
v1.0.2 | 106 | Dec 3rd 2023 at 7:31 PM | Show | rivers_1.0.2.zip | Install now | |
v1.0.0 | 238 | Dec 2nd 2023 at 8:11 PM | Show | rivers_1.0.0.zip | Install now | |
v1.0.1 | 321 | Dec 2nd 2023 at 10:12 PM | Show | rivers_1.0.1.zip | Install now |
This might sound dumb considering the mod, but is there anyway to get LESS rivers? It was charming the first few times seeing two or three rivers running parallel in a 100 block distance, but it is starting to get grating.
I have tried to place two large water wheels next to each other but when I place the second they both stop turning. A single wheel in either location works but both together doesn't. I also tried moving one over and putting an axle between them but no luck.
Kurazarrh dangerousb
Hey, did some quick world testing based on this config file you've attached and I've found that "Landcover" = 50% and "Landcover Scale" = 300% seems to guarantee rivers generating around spawn. 3 of 3 test worlds spawned with rivers and 2 worlds with "landcover Scale" = 200% didn't spawn with any rivers. Hopefully this helps others like me who are blind and didn't read the description before downloading it lol
Kurazarrh I've been testing a bunch of mods and I've noticed that some seeds just aren't generating rivers for me. This seed spawned me right next to a few rivers: 1032789563
This was the playstyle I used for testing:
{
"gameMode": "survival",
"startingClimate": "temperate",
"spawnRadius": "50",
"graceTimer": "10",
"deathPunishment": "drop",
"droppedItemsTimer": "600",
"seasons": "enabled",
"playerlives": "-1",
"lungCapacity": "40000",
"daysPerMonth": "9",
"harshWinters": "true",
"blockGravity": "sandgravel",
"caveIns": "off",
"allowUndergroundFarming": false,
"bodyTemperatureResistance": "0",
"creatureHostility": "aggressive",
"creatureStrength": "1",
"playerHealthPoints": "15",
"playerHungerSpeed": "1",
"playerHealthRegenSpeed": "1",
"playerMoveSpeed": "1.5",
"foodSpoilSpeed": "1",
"saplingGrowthRate": "1",
"toolDurability": "1",
"toolMiningSpeed": "1",
"propickNodeSearchRadius": "6",
"globalDepositSpawnRate": "1",
"microblockChiseling": "stonewood",
"allowCoordinateHud": true,
"allowMap": true,
"colorAccurateWorldmap": true,
"loreContent": true,
"clutterObtainable": "ifrepaired",
"temporalStorms": "sometimes",
"tempstormDurationMul": "1",
"temporalStability": true,
"temporalRifts": "visible",
"temporalGearRespawnUses": "20",
"temporalStormSleeping": "0",
"worldClimate": "realistic",
"landcover": "0.9",
"oceanscale": "4",
"upheavelCommonness": "0",
"geologicActivity": "0.05",
"landformScale": "1.2",
"worldWidth": "1024000",
"worldLength": "1024000",
"worldEdge": "traversable",
"polarEquatorDistance": "50000",
"globalTemperature": "1",
"globalPrecipitation": "1",
"globalForestation": "0",
"surfaceCopperDeposits": "0.12",
"surfaceTinDeposits": "0.007",
"snowAccum": "true",
"allowLandClaiming": true,
"classExclusiveRecipes": false,
"auctionHouse": true,
"playstyle": "surviveandbuild"
}
I'm unable to get this mod to generate rivers, even if I set it as the only active mod. Anyone else having this issue? It's definitely loading, since I can build and place the waterwheels from this mod, but it will not cut any rivers. I even cranked the river density up to spam levels and got nothing.
AzuliBluespots Geology Additions was working for me but Stone Quarry broke things for me. No idea why
Ok, I'm guessing this isn't compatible with Geology Additions. From your map, rivers should be very easy to find if you make a world with the recommended settings. I couldn't see anything besides vanilla terrain.
TsukuyomiKitsune
Hello, I didn't yet built a waterwheel on our multiplayer game. So I have no idea.
But I guess you should ask the mod's author ( sneezerstein ) rather than me đ .
@Laerinok ran into an issue as a waterwheel connected to a power axel on a server then when you log off server and come back on the water wheel will be spinning but not the power axel. its fixed by breaking the axel and then replaced.
Is there a way to regenerate river flow after breaking ice?
Edit* I am on version 2.7.0
Edit** After extensive testing, I found that because I had edited the config file, this was likely the cause of the chunks deleting. When I restored the default config file and ran the worldregen, it worked. The settings I had changed in the config were "maxValleyWidth": 50.0, "oceanThreshold": 15.0, and this was the cause. It only happened in my multi-player server, I was unable to replicate the bug in my single-player file.
When trying to regen chunks of the world on my multiplayer server, with this mod installed it deletes the chunks I am trying to regen instead. I run this with Plains & Valleys mod. I'll post the error logs.
16.3.2024 05:37:33 [Worldgen] An error was thrown in pass Terrain when generating chunk column X=15947,Z=16173 in world 'Ophanim' with seed -813684280
Exception System.AggregateException: One or more errors occurred. (Object reference not set to an instance of an object.)
---> System.NullReferenceException: Object reference not set to an instance of an object.
at NewGenTerra.<>c__DisplayClass49_0.b__1(Int32 chunkIndex2d) in D:\Rivers\Rivers\src\WorldGenSystems\NewGenTerra.cs:line 575
at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`1.b__1(RangeWorker& currentWorker, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`1.b__1(RangeWorker& currentWorker, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
at System.Threading.Tasks.TaskReplicator.Replica.Execute()
--- End of inner exception stack trace ---
at System.Threading.Tasks.TaskReplicator.Run[TState](ReplicatableUserAction`1 action, ParallelOptions options, Boolean stopOnFirstFailure)
at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
at NewGenTerra.Generate(IServerChunk[] chunks, Int32 chunkX, Int32 chunkZ, Boolean requiresChunkBorderSmoothing) in D:\Rivers\Rivers\src\WorldGenSystems\NewGenTerra.cs:line 788
at NewGenTerra.OnChunkColumnGen(IChunkColumnGenerateRequest request) in D:\Rivers\Rivers\src\WorldGenSystems\NewGenTerra.cs:line 340
at Vintagestory.Server.ServerSystemSupplyChunks.runGenerators(ChunkColumnLoadRequest chunkRequest, Int32 forPass) in C:\Users\Tyron\Documents\vintagestory\game\VintagestoryLib\Server\Systems\World\LoadThread\SupplyChunks.cs:line 1720
I'd still love to be able to set the riverSpeed to a range rather than a set value for all rivers generated. Would be super neat if some were slow, some were fast, etc.
Laerinok
Thanks, I was able to reduce the speed
Antonio90
It's said in the description above. In "changes" section.
Well it's not really expressly said how to change, but you have the value in the config file (in the ModConfig folder):
// How fast rivers and water wheels should flow, can be changed after worldgen.
public float riverSpeed = 8;
Is there a way to reduce the river current? I can't navigate the raft
Rhoun settings where all default the first map was 50h old, i will try it with the vanilla plus mod, good tip, thx. i scanned a radius of 150k blocks and the only borax note i found was the one i placed out of creation mode.
Edit: worked, dont know if its the vanilla plus mod or what but new maps contain now all blocks. Thanks for the help
So I've checked a few of my maps and Borax is there, but every chunk of it is underwater, be it river or ocean.
It also took the x-ray mode like 5 minutes to find it. I also use vanilla plus worldgen, so not sure if it affects it too.
Did you try to wait with your maps, and what are your other settings like ore distribution? Darkmessiah
1.3.2024 23:25:55 [Error] Command: /wgen regen 1
1.3.2024 23:25:55 [Error] Exception: Object reference not set to an instance of an object.
at Vintagestory.ServerMods.ModStdWorldGen.LoadGlobalConfig(ICoreServerAPI api) in VSSurvivalMod\Systems\WorldGen\Standard\ModStdWorldGen.cs:line 24
at Vintagestory.ServerMods.GenTerra.initWorldGen() in VSSurvivalMod\Systems\WorldGen\Standard\ChunkGen\1.GenTerra\GenTerra.cs:line 95
at Vintagestory.ServerMods.WgenCommands.RegenChunks(Caller caller, Int32 range, String landform, Boolean aroundPlayer, Boolean randomSeed, Boolean deleteRegion) in VSSurvivalMod\Systems\WorldGen\Standard\WgenCommands.cs:line 1696
at Vintagestory.ServerMods.WgenCommands.OnCmdRegen(TextCommandCallingArgs args) in VSSurvivalMod\Systems\WorldGen\Standard\WgenCommands.cs:line 583
at Vintagestory.Common.ChatCommandImpl.CallHandler(TextCommandCallingArgs callargs, Action`1 onCommandComplete, Dictionary`2 asyncParseResults) in VintagestoryLib\Common\API\Command\ChatCommandImpl.cs:line 311
at Vintagestory.Common.ChatCommandImpl.Execute(TextCommandCallingArgs callargs, Action`1 onCommandComplete) in VintagestoryLib\Common\API\Command\ChatCommandImpl.cs:line 247
at Vintagestory.Common.ChatCommandImpl.CallHandler(TextCommandCallingArgs callargs, Action`1 onCommandComplete, Dictionary`2 asyncParseResults) in VintagestoryLib\Common\API\Command\ChatCommandImpl.cs:line 274
at Vintagestory.Common.ChatCommandImpl.Execute(TextCommandCallingArgs callargs, Action`1 onCommandComplete) in VintagestoryLib\Common\API\Command\ChatCommandImpl.cs:line 247
at Vintagestory.Common.ChatCommandApi.Execute(String commandName, TextCommandCallingArgs args, Action`1 onCommandComplete) in VintagestoryLib\Common\API\Command\ChatCommandApi.cs:line 99
at Vintagestory.Common.ChatCommandApi.Execute(String commandName, IServerPlayer player, Int32 groupId, String args, Action`1 onCommandComplete) in VintagestoryLib\Common\API\Command\ChatCommandApi.cs:line 143
used /wgen regen 1 server side and it deleted chunks. went to single player and got this error. i can Only guess its for rivers, as this is the only world gen mod, on the server >.<
Rhoun with this mod https://mods.vintagestory.at/xray you can search for every type of block on the map
How did you scan the map? I'd like to check mine too to see if it's a common problem and I should be worried about the map I've just started playing. Darkmessiah
i came across the problem that every map i load with the River mod activated has not a single note of borax in it, i scanned multiple new maps, every time the same result, no borax on the whole map, is that a known issue?
ok, im not the only one, same bug as (server log error and river stopped flowing too) Rsp
sneezerstein
Is it possible to update it with a server on game version 1.19.3?
There will be no problems with the fact that it is designed for 1.19.4-rc? Is it better to wait for the stable version?
HI, I am seeing our server console flooded with this error
27.2.2024 07:11:36 [Server Error] Exception: Object reference not set to an instance of an object.
at MuddyGravelBlock.OnServerGameTick(IWorldAccessor world, BlockPos pos, Object extra) in D:\Rivers\Rivers\src\AlluvialDeposits\MuddyGravelBlock.cs:line 43
at Vintagestory.Server.ServerSystemBlockSimulation.OnServerTick(Single dt) in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 994
I found a similair post further down but no reply. How can i fix this issue?
Also, our rivers stopped flowing...
VS verison1.19.3
rivers 2.5.0
Thanks in advance.
I love this mod, adding rivers makes the world more interesting from the map
sneezerstein thank you for the /wgen regen issue fix! Now it works correctly!
Also the river has been now regenerated to the chunks with the trader, using /wgen regen, so now it's perfect! :-)
Question. Will it be safe to remove this mod and continue playing with vanilla generation in the same world? Asking just in case this game gets updated and this mod won't be supported anymore.
sneezerstein
I am having the same issue as Supramp
I attempted to run /wgen regen 1
No effect other than to shut down my ability to use the /tp command and spam on the console requring a server restart
I attempted to remove the rivers mod and regenerate the chunk but of course it changed the chunk borders drastically. It looks like the Rivers mod changes world generation enough that it's going to mean the wgen command will not be usable while this mod is running. That's going to be a major handicap for any server operator especially if attempting to reset the Resonance Archive.
For some reason, with this mod installed (and many others) I could no longer run /wgen regen. I had to remove the mod until I start a new world.
On top of what Retsof said, the river currents are too fast in my opinion, they cary far out into the ocean and sometimes spawn random currents in the ocean that aren't connected to land.
They also somehow overlap clay blocks and muddy gravel blocks when spawning rivers, I was digging some blue clay by one of these rivers and the block didn't go away it just turned into muddy gravel.
So I tried playing with the configs for a while but eventually gave up. Still could use a little fine tuning IMO
A: the rivers tend to carve very steep canyons rather than more gentle valleys. looks a bit odd if you're in otherwise gentle terrain.
B: the rivers seem to often be deeper than they are wide, which also seems a bit odd, especially when-
C: The starting points of rivers are usually many blocks deep even at only one block wide.
Nothing game breaking really, just off enough to trigger the ol' OCD. :)
Triatticus I can "recreate" river blocks by just putting a water "block" in the former river block place with a bucket and the "river flow" returns.
Is there any way to fix a river if you accidentally fill in the river blocks and then remove them? It seems you can just destroy a river and thats that, it made my meddling with multiple waterwheels chaotic and now the river im using has spots where waterwheels dont even turn (v1.18.15).
sneezerstein Now I'm confused. I could've sworn it was just near rivers but it seems indeed everywhere now that I tested it some more, ranging from 0 to 100 without any water nearby. What mod would even cause this? T_T Or is this some weird vanilla thing that terrain is just naturally moist, and some moister than others?
Supramp I'm testing that mod right now and there's not really any issues with this mod because the Rivers mod should be generally compatible with all terrain gen mods since they typically just edit the landforms.
Any chance or plans to make this compatible with VanillaPlus by Vevi33. maybe a ptach?
The world looks great with the rivers but chunk generation slows down quite dramatically compared to the same worldgen settings without Rivers.
@DarkThoughts it doesnt affect farmland at all
Can someone eli5 how this mod affects farmland? It seems like rivers + flat area = up to 100% moisture? Is this to simulate flood plains or something? It seems kinda inconsistent though so I kinda fail to see the exact pattern.
@Morggin In case you haven't found it yet, landcover scale is there when you make a new world;
Right underneath the section on temoporal stability.
"Recommended settings for new version's default config: 300-400% landcover scale, 40-50% landcover."
I can't find "landcover scale", is this actually "landformScale"?
>this is a cool mod we <3 it on our srbr* thx 4 making it !! >:3
Does this config switch "public bool removeGravityBlocks = true; If the worldgen pass for falling blocks is enabled." override the worldgen and remove falling blocks entirely? What's the purpose of this switch in regards to the Rivers mod?
this is a cool mod we <3 it on our srbr* thx 4 making it !! >:3
*ded
Very happy with the update. Glad to help! Always open to negotiations and mutual assistance! Very cool mod, RECOMMENDâ
weird question but could you perhaps take a peak at your fishing mod? apparently it is mildly broken in 1.19
Is there a reason the config file resets everytime I create a new world, as I create the new world, resulting in every world having default configurations no matter what ?
yes, a dev confirmed this morning, that it seems to be a vanilla issue.
plains & valleys doesn't interact with this mod at all. results not guaranteed for any valley width other than 50 because gathering the pieces for the river is complicated. also I'm seeing a lot of vanilla bug reports that look just like that.
there is still cut off terrain, especially when tweaking valley width.
happens regularly when the "plains & valleys" mod is installed, even with small valley width. Could you somehow add support for that mod?
also happens in vanilla, if the valley width is too wide. version 2.4.0 by the way. 1.19.3 of vs
If that means something to you, just found in the server-worldgen logs in a Single Player game
It generates that error/warning for multiple chunks that are loading (coord of chunks in bold changes). By the way, I was using an earlier version of your mod in this world (single player). Perhaps it was with v2.0.0. Hope it helps! Thanks alot for trying something new that brings a different experience to this game using your mod.
1.2.2024 23:42:41 [Worldgen] An error was thrown in pass Vegetation when generating chunk column X=4006,Z=3981 in world 'Serene Adventure World rc5' with seed -1685805649
Exception System.NullReferenceException: Object reference not set to an instance of an object.
at GeneratePartialFeatures.GeneratePartial(IServerChunk[] chunks, Int32 mainChunkX, Int32 mainChunkZ, Int32 generatingChunkX, Int32 generatingChunkZ) in D:\Rivers\Rivers\src\Boulders\GeneratePartialFeatures.cs:line 74
at WorldGenPartial.ChunkColumnGeneration(IChunkColumnGenerateRequest request) in D:\Rivers\Rivers\src\Boulders\WorldGenPartial.cs:line 23
at Vintagestory.Server.ServerSystemSupplyChunks.runGenerators(ChunkColumnLoadRequest chunkRequest, Int32 forPass) in C:\Users\Tyron\Documents\vintagestory\game\VintagestoryLib\Server\Systems\World\LoadThread\SupplyChunks.cs:line 1725
---
Could you make fallen trees across the river? That would be cool to cross them as natural bridges.
This is probably a long shot but, is there any possible way to restore the broken rivers from the old version in an old world?
@XurxoMF did you delete your config so the new values are there?
I've tried with the 2.0.0 and I found a river literally on the spawn, with 2.3.0 I didn't found anything
I'm using the last verions, I've explored a looooot around the ocean and there are 0 rivers. In 30 minutes exploring. Maybe a bug?
Anybody else having issues with the resonance archives not showing up while using this mod? I love the mod, but the map from the trader isn't working.
Is that the reason I cannot find any rivers generated after I drop my sp save on the server hosting? I use a different settings from the recommended ones, top to bottom 70-150-10-140 and it generates nice terrain but only where I spawn at the beginning.
example herefile.io/PGNbFbpPtj7RbFbpPtj7Rfile.io/PGNbFbpPtj7R
file.io/PGNbFbpPtj7R
@adres4t oops forgot to disable that when clay is disabled. also it's bugged right now if your valley width is different than 50
>What are those clay textures from
vanilla
>Are there plans to add elevation changes to the rivers
making them terrain aware and making them actually flow down is fundamentally impossible. if you found some medium in the code that you could lower/increase base height by you could raise the height around rivers. as they get closer to the ends.
right now the valleys lerp from the original landforms to the river landform over the width of the valley. if it's a full valley some landforms transition smoothly and other transition sharply almost immediately. the math is all correct and it seems to be an artifact of how the noise works (as it starts to transition the original terrain becomes impossible). if anyone understands more about noise tell me how I can fix that.
Every single update this mod gets makes it even better at an amazing level lol
What are those clay textures from? Is there a way to use the More Clay textures instead? And for the future: Are there plans to add elevation changes to the rivers? That would probably help with at least those who start in more hilly terrain. I also find the v2 rivers typically very close together and often running parallel to each other. It looks good on map screenshots in regards to the form but the scale is obviously completely wrong. I think it'd also be nice to have a config to disable the whater wheel for those who use medieval expansion.
secret version
What the hell is that 1.69 version now? It's a lower version number and there's no changelog attached.
Hey Sneezer, long time no see; This mod you've made is excellent! Kudos to (you) on your great work.
b0b4444 i updated my server from 1.2.0 to 2.0.0 and old rivers just became still, but new rivers working properly
Question:
With the config settings currently provided, is it possible to generate rivers that wind back and forth more? The rivers in the example screenshot are all very straight. In nature, all rivers automatically trend towards forming serpentines as time goes on, due to the way the laws of physics work out. So I was wondering if it was possible to achieve that look by adjusting the config.
Is it possible to update to the new version on an old world?
Firstable, thank you for this mod. And I want to ask you decrease quantity of seaweed in oceans, cause it's really making big load to RAM. Old PC or cheap laptop can't hold it and the game keep crashing every few minutes. With my pc around in ocean used RAM is coming to 19gb(with maximum setting btw) that's not good i guess
(UPD) sorry for misinformation, those from another mod(FeverstoneWilds), i'm really sorryđ
sneezerstein Could you update the Config Info tab? New/changed settings in rivers.json are not explained.
So happy to see the work on this. Will worlds from previous versions have weirdness?
New Rivers looks amazing! well done.
@WickedSchnitzel I tried that first. Covers z-fight bad and glitch underwater. also I can make these slippery and you can eat them or something. they just need a better model.
I would suggest using moss layers only instead of full blocks.
https://ibb.co/QkWb8w1
Is there a way in this mod to create or edit rivers such as using world edit? Like assinging a currant to water blocks or generating them on the fly?
For the sake of visibility: If you get the particle crash with the latest version, try deleting your rivers.json config file so that the mod can create a new one.
jibbjabb RTFM? You have to have oceans for rivers to generate in the first place so you have to reduce landcover to at least 90%.
crashes for me with [Fatal] Caught unhandled exception in thread 'asyncparticles' in 1.19.1 - i have sent the log to github
I dont know whats wrong with this mod. I created the world and went trough it, maybe 5000 chunks at a time, and i dont see any river. I think, maybe its necessary for the vanilla wersion but also not... sad.
Because this mod is very interesting and could be the first mod to install after update.
@Dhon I could but the problem was they would accumulate at the edge of the loaded world and there would be a hundred entities stuck there
sneezerstein Hello! Great mod, but could you make the rivers affect other mobs too? At least on 1.18.15 (waiting for other mods to catch up, so haven't updated to 1.19 yet) the river speed only applies to the player, while animals and other mobs completely ignore it, which makes chasing them through river-dense areas incredibly difficult. You could make it a toggle true/false option in the config in case of unwanted behaviors (like all the bears drowning in the rivers all the time).
Crash in version 1.2.0 (Is that Windows like D:\ filepath meant to be?):
18.1.2024 20:17:18 [Fatal] Caught unhandled exception in thread 'asyncparticles'. Exiting game.
18.1.2024 20:17:18 [Error] Exception: Object reference not set to an instance of an object.
at RiverBlockBehavior.OnAsyncClientParticleTick(IAsyncParticleManager manager, BlockPos pos, Single windAffectednessAtPos, Single secondsTicking) in D:\Rivers\Rivers\src\Patches\RiverParticleBehavior.cs:line 57
at Vintagestory.GameContent.BlockWaterflowing.OnAsyncClientParticleTick(IAsyncParticleManager manager, BlockPos pos, Single windAffectednessAtPos, Single secondsTicking) in VSSurvivalMod\Block\BlockWaterFlowing.cs:line 45
at Vintagestory.Client.NoObf.SystemClientTickingBlocks.onOffThreadParticleTick(Single dt, IAsyncParticleManager manager) in VintagestoryLib\Client\Systems\ClientTickingBlocks.cs:line 209
at Vintagestory.Client.NoObf.SystemRenderParticles.OnSeperateThreadGameTick(Single dt) in VintagestoryLib\Client\Systems\Render\Particle\RenderParticles.cs:line 270
at Vintagestory.Client.NoObf.ClientThread.Update() in VintagestoryLib\Client\ClientThread.cs:line 75
at Vintagestory.Client.NoObf.ClientThread.Process() in VintagestoryLib\Client\ClientThread.cs:line 61
Could you add this wonderful mod to Crowdin so that we can translate the water wheels?
I love this mod for the variety in terrain gen, but it performs very weirdly & badly when there's blocks falling into the rivers, which makes especially soil instability a complete bust setting, as it completely kills the framerate when all the dirt fall into the river. I also tested it with the rock instability in 1.19 and it seems to have a similar effect, but a little less so since the rock collapses aren't quite as severe as the chain reaction of the dirt blocks. Even when things are settled down, those areas still drop your FPS into the single digits when you enter them, basically turning them into a no-go zone.
I also feel the last update caused rivers to go from almost always too tiny streams to now almost always forming into gargantuan sizes.
I really like this mod but I really wish it didn't spawn so gosh darn many impossible rivers. Rivers do not just dig through giant mountains on the regular, they go around them. It is absolutely absurd the amount of times a river will just bore through kilometers of rocks with literal mountains of weight above them. I'd love it if you could fully deactivate that feature and make it so it just goes around mountanous areas. Ideally the river would actually drop in elevation but that might be a little too much
Your mod and Joy of Sailing just made my day.
I was exploring with 80% landcover. I got to a mountainous chalk region with a lot of terrain noise. I was skirting around the shore, exploring the outline of the water, when I found an UNDERGROUND RIVER--straight out of pirate fiction--that allowed me a shortcut through the land. It was a MASSIVE cavern, complete with stala/gmites/ctites and water dripping from the ceiling.
This was so cool! I hope you can maintain this mod and/or it gets added somehow to the main game, along with the sailing mod.
Any chance for a config for controlling how often or how much the transition between caves and valleys?
Pr0fesseur
I've read only by now the chat, but I feel like you confused me with the author of this mod, which is sneezerstein, you should tag him instead
@SilentKiwi
Thank you so much. I understood.
@RikeiR
ăăăæ°Žè»ăćăă«ăŻć·ăźäžă«ăăćż èŠă§ăăăČăŒă ăă©ăłăčăźăăăăăăăŸăăăăăźæ°Žè»ăźäžçčăŻć·ăăă«äžăăŠăăăă«ăŻć·ăăăăŻă«ć „ăă«ćż èŠă§ăăæȘăæ„æŹèȘăăăŁăăăăăăăæ„æŹèȘăç§ăźïŒă€çźèšèȘă§ăă
Hello, could a smart player post some examples of config + screenshots, so the stupid me could clearly understand what does what ingame, and how to get some nice results ?
In this situation, the waterwheel does not rotate.
ăăź MOD ăźæ°Žè»ăćăă«ăŻć·ăźäžă«ăăćż èŠăăăăŸăă?
does this require new start new map ?
@VaelophisNyx
turn down torque to 0 in the config
request: a way to disable this mod's water wheels would be appreciated
Doesn't seem to be compatible with Medieval Expansion mod, which has it's own waterwheel. Tested out in creative mode and [?] blocks are placed when trying to place the waterwheel. Disabled Medieval Expansion and it appeared just fine. Also waterflow feels a bit janky where rivers intersect. Large open T-intersection had alternating layers of southbound and east bound water. Was interesting trying to swim manually across a river, ended up quite a bit further south than intended. Tried out a raft and that comes with it's own issue, being that once you hop off, even if you find a corner to park in the water flow WILL drag the raft off and it's just gone.... need some way to anchor rafts to fight the flow.
https://prnt.sc/1-9_LMGCJy5c
ive been trying to work on an expanded caves and caverns mod to open up the undergound caves systems. make them larger and expansive. Id love to work on something with you if interested. I think the underground system needs some love.
Hrm, I know its not EXACTLY the same as your code but MC does have a plugin that may have some math that would help with theis problem. https://modrinth.com/datapack/tectonic
this is what i had envisioned for vintage story .. hes using octives and amplitudes for each should give the same results if they can be worked into VS
Mohandar
Would be cool to add a random varialbe to the config to allow for riverSpeed to be a range. Easy enough to adjust to value now in the config, but allowing for a range would be a pretty simple and neat addition imo, so the rivers wouldn't all be the same strength.
Pr0fesseur
they already do
(and they do it too much btw)
I was working on something similar over the past month for underground rivers, I think it would be ideal if rivers would carve under mountains and create meandering caverns this would also be good to crete more Speleothems to collect as well.
. Would also allow ppl to traverse under large mountain ranges instead of going around or over.
yeah it kinda look better if it's not a sheer drop, and it's preferible if you can't directly act on the mountain tips but on the quadratic function as a whole.
but... regarding the lake thing; if it is the terrain to be "aware" of the rivers, and 'it choose' to generate a cave, couldn't be made something to switch the generation of the cave with something that resemble a lake instead?
I mean, kinda like the valley override, creating an area to accomodate the river 'into a stop'.
btw, caves are not that bad that they need to be entirely removed, there should just be a possibility to significantly reduce them in the config (if possible), expecially if too near oceans..
if it was possible to make rivers to generate from glaciers within mountains and flows down following the terrain until oceans by the way it would have been the best option, but as you said it's not the rivers to check for the terrain but the terrain to check for the rivers, so idk :/
in fact when I attempted to use int heightBoost and float topFactor the river would start at an higher terrain but wouldn't have water in it ç_ç I hope I just messed up the values but as long as I've experimented I couldn't find a functioning way
>should be smoothed always
the valleys are just a quadratic function and I could change them to smoothstep. I think it looks better if it's just not a sheer drop.
the valley width everywhere is determined by a noise so I could give that gain so that small values aren't possible. I can look into adding a config that disables caves completely.
>check the terrain and make a lake
the rivers are not aware of the terrain. the terrain is aware of the rivers.
Hey sneezerstein, I've tested out your mod in these days with various config's parameters!
So far so good, except some visible trouble when the rivers get too big, like here:
I have so drawn up a list of things that if adressed would make this the best river mod out there.
-valley smoothing could be improved;
sometimes, when the side mountain its too high, a rocky wall is left to the side;
in plenty of occasions the effect may be unpleasant/unrealistic, where a both-side smooth is preferible, like in this case:
in other rarer case, the rocky wall may be fine, but at least, the edges must be addressed (smoothed)
I would say that the higher edges/top of mountains should be smoothed always
I (personally) would still go for the both side smoothed valley override anyway for most of the cases, and the rocky wall thing with smooth edges may be left as a config value to determine the weight of the rocky walls in situations like these.
-Another smoothing option in the config should address situation like this:
I'm aware that these rivers kinda represent horrids like this one->
But, as the river floor level is always in pair with the sea level and doesn't change in any occasion it may be helpful to have a "force override terrain / smooth" in situation like this, to make 'horrid-like rivers' less common that they are right now.
Surely it would be more interesting to have river-floor height variation, so that we can find rivers that are born in glacier/top of mountains, and we can have some waterfall as well.
I've tryied some config option like:
int heightBoost and float topFactor but they seems a bit bugged as by now (the water doesn't seem to generate).
Also, there seems to be not any way to have a gradual and smooth difference between river's origin and river's mouth/estuary right now.
-And this hooks up to another problem, which are the river tunnels/galleries, which resemble motorway tunnels:
Which, even if kept, are anyway too common by now.
better solutions:
/or/
(the first one with the creeks in particular would have been awesome as well)
- This thing hooks up again to another thing, that may be a possible solution for itself(the tunnels) as well.
there should exist another different lakeChance config option that determine a chance for rivers that encounter a terrain too high ahead of them to end up in lakes/become a lake instead of making a tunnel;
like this in this occasion:
something like:
"instead of tunnel: int generate a lake chances"
"instead of tunnel: int force-override smooth terrain through until ocean chances"
And this is mostly all.
-Last thing is; the double riverFloorVariation (which seems to only affect the river sides/walls), for values below 1.0 should increase the number of blocks at the river-level to simulate larger 'river-shores'
like this one:
I hope that I explained myself correctly since I'm a non-english speaker and I also hope to have given you further wish to improve this already great mod which fills what this game was sooo badly lacking and in need of.
and since it's the time, happy Holidays ! đ€
Ever thought of doing underground rivers? I think it'd make an interesting concept. If I knew how to code i'd try and make something to present to you, but im too smoothbrained to even comprehend doing it.
@Mohandar you can turn down the river depth in the config. I didn't bother doing any automatic adjustments for world height.
@RikeiR I will next time there's an update
sneezerstein
I guess that world gen higher than 256 isn't well supported, right? :/
or maybe is it because of the Plains and Valleys mod?
Please include the Japanese translation file at Discord.
Waterwheel recipe requires a 32 stack of stripped logs, but they only stack to 16. đą
edit: ty for fixing! you rock!
I think I finally got it to work. I'm not sure why uploading my world doesn't work, but if anyone else happens to have this issue, here was what I had to do:
1) create a single player world and set up the config how you wish. Load the world, and then exit. You will not be using this world, but it will give you the configuaration setting you need.
2) Go to your VintageStoryData folder and find the serverconfig.json file. Copy everything from WorldConfiguration until MaySizeY (the last highlighted thing for my is AuctionHouse: true). what I copied looks like this (based on my preferences for gameplay):
"WorldConfiguration": {
"worldClimate": "realistic",
"gameMode": "survival",
"temporalStability": true,
"temporalStorms": "veryrare",
"graceTimer": "0",
"microblockChiseling": "all",
"polarEquatorDistance": "400000",
"lungCapacity": "60000",
"harshWinters": "true",
"daysPerMonth": "30",
"saplingGrowthRate": "1",
"propickNodeSearchRadius": "6",
"allowUndergroundFarming": false,
"temporalGearRespawnUses": "-1",
"temporalStormSleeping": "0",
"startingClimate": "temperate",
"spawnRadius": "0",
"deathPunishment": "drop",
"droppedItemsTimer": "3600",
"seasons": "enabled",
"playerlives": "-1",
"blockGravity": "sandgravel",
"bodyTemperatureResistance": "0",
"creatureHostility": "aggressive",
"creatureStrength": "1",
"playerHealthPoints": "15",
"playerHungerSpeed": "1",
"playerMoveSpeed": "1.5",
"foodSpoilSpeed": "0.75",
"toolDurability": "1",
"toolMiningSpeed": "1",
"globalDepositSpawnRate": "1",
"allowCoordinateHud": true,
"allowMap": true,
"loreContent": true,
"tempstormDurationMul": "1",
"temporalRifts": "visible",
"landcover": "0.5",
"oceanscale": "4",
"upheavelCommonness": "0",
"geologicActivity": "0.05",
"landformScale": "1.0",
"worldWidth": "1024000",
"worldLength": "1024000",
"worldEdge": "traversable",
"globalTemperature": "1",
"globalPrecipitation": "1",
"globalForestation": "0",
"surfaceCopperDeposits": "0.12",
"surfaceTinDeposits": "0.007",
"snowAccum": "true",
"allowLandClaiming": true,
"classExclusiveRecipes": true,
"auctionHouse": true
},
3) go to your server and open its serverconfig.json. Replace the world configuration settings there. It might just say "null," so you might need to add all of these details. After you make the changes, save the file.
4) On your server, make sure your save files are empty. We are doing this to let the server generate its own save file.
5) Start the server, log in, and it should now be working.
The reason I had such trouble is because importing the actual save without copying that config information didn't work. Also, letting the server generate its own save file before those values caused no rivers to form. And, finally, copying the save file over AND copying the config cause a CTD every time I tried to go in game. So, the only way it worked for me to was to generate the config in SP, copy it to the server, and then let the server genrate its own save based on that information. It doesn't seem like it should be that difficult, and maybe its just a bug with my host, or maybe its something obvious I misssed. Either way, 20-30+ hours later, that is the only way I have gotten Rivers and Plains & Valleys to work simutaneously on my server.
Dythanos Yes, that was what I thought too. However, the same thing happens with identical seeds and configs settings in serverconfig.json, and in the config files for the mod itself. I'm sure you're still right, but I can't figure out where down the line the changes are happening. Fortunately, it hasn't messed anything up in any significant way, because I'm just testing, but it's been frustrating all the same.
Those cliffs are due to your worldgen being run with either 2 different seeds or 2 different configuration options at 2 different times.
For example: You started the world with 1 set of options and changed them later on in the server's life.
Unfortunately things like this with World Gen can really mess up your world. You need to configure your world the way you want it and not change the configs that have to do with world gen after you have started your world.
@sneezerstein As I said, I don't know if it's actually this mod casuing a conflict or the Plains & Valleys. But, if it shouldn't conflict with Plains & Valleys, it seems like this mod is having some sort generation issue when run on my server. It works just fine in SP. It could well be some type of error I'm making with server configuration, but I haven't been able to figure it out yet, and several other people don't know where the issue is coming from either.
Here is an example of what I'm running into when I use my SP save when uploaded to the server: imgur.com/a/ylrBDtO
@Fjall there are bugs I'm not aware of. one is a lot of rivers not flowing out to the sea because the ocean threshold is too low. It doesn't have any incompatibility with mods like plains and valleys because they don't interact at all.
@Bughaw Strength is how much it's distorted and it will generate differently if you change that.
Bughaw I'm wondering if this is buggier than it appears at first. I have the same issue running it on my server with Plains & Valleys. It normally works fine on single player, but I get horrible flat rock faces when the server tries to handle it. It seems like it works most the time, but there might be something undernearth causing this happen. The only difference for me is that its many chunks at not just one. I'm not sure what to do. I had my server host support troubleshoot, and this or Plains and Valleys seems to be causing the issue. If you're not running Plains and Valleys, then it almost certainly is this.
I ran into a place where a huge river comes out of an artificially flat rock face. I think I changed river strength in config thinking it was speed. It isn't. It was my fault for changing config after worldgen.
in single player, this mod works just fine with terrain mods like Plains & Valleys, but for some reason when I try to use it on my server, I'm still having issues. It seems like it will either only use this mod or the terrain mod. When I import my single player world (with Rivers and Plains & Vellys), the Rivers mod takes priority and works, but Plains and Valleys doesn't work, and the world genrates vanillia terain for the server. However, when I let the server make its own save file, it doesn't use Rivers at all, and only generates with Plains and Valleys.
This probably is user error on my part, but it's throwing me for a loop.
sneezerstein awesome, thank you. I figured out the server issue (edit: I was wrong about fixing it), and for anyone wondering, decrease the topFactor number to make cave entrances shorter.
What "your other mod" are you referring to?
Hello there o/
I just wanted to drop in and say that I think I've dreamed of seeing rivers for awhile now and finally seeing them is just something else! This is amazing work, very nice job :) looking forward to playing with them on my server!
@Fjall if you want smaller openings or if it's too deep on higher world heights you can play with the config
Absolutely love this mod and where it's going. Unfortunately, I can't seem to figure out how to get it working on my server, but it's well worth the trouble. I would love to see the underground caves somehow have smaller openings, to look more realistic, but don't get me wrong. This mod is awesome, especially for being so brand new.
Uploaded 3 days ago and now it has valleys too?? You're crazy lol. I love this mod
So with a bit of testing it seems that this doesn't work to well with changing world height. If you put world height to a decently hight number rivers will be made ridiculously deep and often cut very deep canyons into the terrain. On the bright side it also seems to be pretty compatible with mods that change worldgen. I added the Plains and Valleys mod and it was able to generate rivers just fine.
looks good. What about height differences?
I literally had a vision of a mod that added rivers. Thank you for making my fever dream come true. Just added another 40 hours of play time :3
Seriously stellar mod! Are you planning on expanding on the mod? Any chance we will get rivers that follow the terrain height and flow down?
Ok, perfect, thx a lot ^^
XurxoMF how faster it gets wider. maxZoneTraversal controls maximum length.
@mcjty I didnt see the other version. im good now. thanks!
riverGrowth changes the length or the width of the rivers? I don't understaind it in the config info text above...
sneezerstein Is there a way to detect if a water block is in one of these rivers?
I think that mod changes the worldgen completely so... I don't think so. You can try tho. Abed
đ but is this compatible with Worldgen Fix?
Little opinion/suggestion:
Recipe for the watermills is a bit expensive, 8 iron plates and 8 sails for the small watermill is too much I think. 4 plates and 8 sails sounds better, you still need iron(10 ingots) so it'll not be early game and at the same time it's not that expensive.
Same for the large watermill, instead of 16 plates use 8...
Resume: Half the ammount of plates needed for the watermills.
Don't change the water speed in a created world hahahaha watermill goes brrrrr, it'll speed up to criminal speeds.
I changed it from 10.0 to 1.0 and it was fun bus scary XD
Ohh ok, thx @sneezerstein
Bughaw you did use the correct version for 1.18.15?
Seems to break worldgen in 1.18, fyi. No land generates. Looks like I need to bite my fingernails until 1.19 flatpak is out. So grateful for the work on this mod tho!
edit: disregard. I had the wrong version.
Procedural river HYPE!
@XurxoMF you need to delete your old config
@RuneScholar this works with anything that doesn't rewrite the main terrain gen code which is nothing yet
I went ahead and tested this with Plains and Valleys for anyone who was also wondering.
They do work together and the game doesn’t treat it as having two worlgen mods which could cause missing chunks and sharp chunk borders. However, the rivers seem to carve tunnels through mountains and highlands very often. This is the case with vanilla worldgen too, but it’s simply more obvious with Plans and Valleys.
Does this mod work with world-gen mods, such as Plains and Valleys?
Whaaaat!? I’ve been asking for this.
I've installed the 1.0.1, opened the game and created a new world but the new speed config it's not appearing in the config file. sneezerstein
I was testing and configuring the mod for a 1.19 server I'm planing to make and I feel the urge to show to all of you this amazing river generations.
{
}
Not all the map is like that, in the north part of that map you can't find any river in a "long area", same to the west...
About the config, if I change riverGrowth to a higher value, it'll change the length of the river or the width of the river?
sneezerstein
This mod adds 2 new watermills Crabb
Which waterwheel is compatible with this?
YOOOOOOOOOOOOOOOOOOOOOOOOOOOO
NO WAY HELL YEA
Ok, about that "bug", dw about that, it's not bad. And about the speed, yes please, if you can add it as a config it could be great lol
EDIT: If you can create a channel in the mods forum in the official VS Discord server it could be great too, to talk about the mod and things like that
The bottom depth of the river changes because of how block layers generate and the sea level changing is a 1.19 vanilla bug. I can make the river speed a config setting.
WTH THIS IS AMAZING... A-M-A-Z-I-N-G. I've tested it in a private world and it works perfectly(at least with no other mods).
It soooo cool for the watermill and it'll make easier to find oceans as you can go down the river XD
Also, it's fun play dead and get swept away by the river hahahhah.
I've some quiestions too:
And one error to report(idk if it's an error): In some places the rives makes a little "stair", it changes from the y-111 to y-110 for example but so drastically... It's not bad, just in case this was not intentional ^^
Here we go, this is gonna be good