
Mods / Water Weather Simulation Redux
Author: organicoil
Side: Server
Created: Sep 1st at 10:39 PM
Last modified: Sep 20th at 2:31 PM
Downloads: 956
Follow Unfollow 91
Recommended download (for Vintage Story 1.20.12 and 1.21.1):
waterweathersimulationredux_1.2.0.zip
1-click install
Forces lakes to fully freeze/melt based on temperature, since the base game does not do a good job at it sometimes.
Freezing/melting happens during chunk load, so you might need to reload your world for the changes to apply near your current location.
Redux version adds a config file to change what is considered freezing/melting temperature as well as more consistent ways to calculate the temperature.
This is done to avoid lakes freezing in early november if you happen to load chunks at night time.
By default lakes will freeze in around mid-december and melt in around mid-april if you live in a temperate climate and have "Snow and ice" enabled in world settings.
Also fixes "Snow and ice" (aka snowAccum) option for world generation, since you cannot properly disable it in the base game. So you can completely disable ice and snow in your world now!
Note: If you are on a game version 1.21+ you will always see "Snow and ice" set to "Enabled" in the world settings in the main menu. Use "/worldconfig snowAccum" console command to check the real value. This also means that if you change any other option via the main menu settings - "Snow and ice" will be enabled (so if you want to keep it disabled - make sure to set it to "Disabled" every time you update wold config via main menu). This is something I cannot fix as main menu cannot be modded.
Config options (can be changed via Config lib in game or manually in water_weather_simulation_redux.json file)
- FreezingTemperature - water freezes if temperature is lower than this value (default is -4)
- MeltingTemperature - ice melts if temperature is higher than this value (default is +4)
- MeasurementType - specifies how the temperature is measured; supported values:
- daily_average - average temperature for the current day is used (default value, should be the most consistent option)
- specific_hour - temperature during the specified hour for the current day is used (less consistent than average, but might help a little if you expirience slow chunk loads since it only required a single temperature reading)
- now - immediate temperature during the chunk load is used (same logic as the original mod, note that it highly depends on the time of day at which the chunks are loaded)
- AverageIntervalHours - how much hours is between each two average temperature measurements, only used if MeasurementType is set to daily_average (default is 3, so temperature is measured 8 times at 00:00, 03:00, ..., 21:00)
- SpecificHour - at which hour the temperature is measured, only used if MeasurementType is set to specific_hour (default is 9, so temperature is measured at 09:00)
- FixSnowAccum - whether the fix for "Snow and ice" option is applied (default is true)
- RespectSnowAccum - whether the mod behaviour should be affected by "Snow and ice" option, meaning that disabling "Snow and ice" will also disable ice melt/freeze done by this mod (default is true)
Safe to turn on and off at any time. (Run "/worldconfig snowAccum true" and reload your world after disabling the mod to reset any changes the mod does to the world config)
Should generally be compatible with almost any mod, unless it alters default blocks for ice and water.
Credit to WarlikeCracker for the original mod
Mod Version | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
---|---|---|---|---|---|---|
1.2.0 | 364 | Sep 20th at 2:31 PM | waterweathersimulationredux_1.2.0.zip | 1-click install | ||
Config lib support | ||||||
1.1.0 | 283 | Sep 14th at 11:06 PM | waterweathersimulationredux_1.1.0.zip | 1-click install | ||
snowAccum fix
Added next options:
| ||||||
1.0.2 | 156 | Sep 13th at 8:40 PM | waterweathersimulationredux_1.0.2.zip | 1-click install | ||
Reset TargetFramework back to net7.0 to ensure 1.20.12 support | ||||||
1.0.1 | 38 | Sep 13th at 7:15 PM | Empty | waterweathersimulationredux_1.0.1.zip | 1-click install | |
1.0.0 | 115 | Sep 13th at 1:29 PM | Empty | WaterWeatherSimulationRedux_1.0.0.zip | 1-click install |
organicoil Thanks for investigating it!
A configurable option for overwriting this vanilla behaviour would be a cool addition.
I guess for most people it doesn't matter too much, I noticed it whilst using the Hardcore Water mod (aquedcuts would still channel water from "frozen" ponds).
The_Revisionist Never noticed this myself, but the game actually considers those adjacent blocks as flowing water.
The easiest way to see this is by enabling "Liquid selectable" in creative. But you can also see it in survival - all 3 adjacent blocks will have flowing water particles (those particles are probably the reason why the game does it this way).
Meaning the blocks actually look like this:
Summer:
🟦🟦🟦
🟦🟦🔵
🟦🟦🔵🔵🔵🔵
🟦🟦🔵
🟦🟦🟦
Winter:
⬜⬜⬜
⬜⬜🔵
⬜⬜🔵🔵🔵🔵
⬜⬜🔵
⬜⬜⬜
So it does seem to be working "as expected", even though the result is somewhat silly.
I'll try adding an option to freeze such "flowing source blocks" to the mod when I have the time.
Thanks a lot for reviving this absolutely essential mod!
I have a question:
Is it normal that water source blocks adjacent (both orthogonally and diagonally) to a flowing water block don't freeze?
For example (top-down view, 🟦=liquid (lake) water, ⬜=frozen water, 🔵=flowing water, assume solid ground (e.g. soil) around the water blocks):
Summer:
🟦🟦🟦
🟦🟦🟦
🟦🟦🟦🔵🔵🔵
🟦🟦🟦
🟦🟦🟦
Winter:
⬜⬜⬜
⬜⬜🟦
⬜⬜🟦🔵🔵🔵
⬜⬜🟦
⬜⬜⬜
To be honest I never checked this behaviour in vanilla, so it might be the a vanilla mechanic and nothing to do with this mod. I thought I'd double check though.
sorry didnt mean about issues. worded that wrong and wa asking about compablity between the 2 mods since they touch the same system is all. thats what happens when you post things while brain dead from work. :(
That's should be on the base game))
Sidfu So far I'm not seeing any issues when using my mod togeher with Brain Freeze. I see that the planned features for that mod include "Redoing how water blocks freezes into ice (so it doesn't end up looking like swiss cheese)" - this is the only thing that can potentially lead to issues, but it is still unlikely (and I can't do anything about it until the mod autor actually implements it).
So unless any specific issues are reported - I don't see a need in compatibility patches.
This is awesome! frozen lakes in summer has always bothered me.
Sidfu I can try, though I don't use Brain Freeze myself so I'm not sure what can be an issue when using it together with my mod. Are you expiriencing some specific issues?
can you look into comp beftween the mod and this one.
Thanks for reviving this mod!
This is fantastic!
Samogitia That's the main idea :)
Guimoute "water-still-7" is basically lake water, as far as I've seen salt water does not freeze in the base game so the mod also does not affect it
Omg... Will this finaly fix "ice blocks in the summer" nonsense.
Very nice. I see in your code WATER_BLOCK_PATH = "water-still-7". Is salt water unable to freeze in vanilla (I have not enabled oceans in 1.20 so I don't know, I will in 1.21) or will the mod progressively turn the surface of a salt water sea into fresh water as it thaws?
Reizeron, thanks for the feedback! I'll definitely look into these two things
I was JUST working on pretty much the same kinda thing! I guess I don't need to anymore lol.
In my version I also added an "if (!GlobalConstants.MeltingFreezingEnabled) return" check, just in case somebody disabled that setting mid-game. Also the method I used was to check if yesterday's hottest/coldest temperature was lower/higher than the freezing/thawing temperature, respectively (that way you know the temperature won't be moving out of the freezing or thawing threshold for near future) It took into account the fact that drier climates have higher diurnal temperature spread than wet climates. Would be cool to see an option like that implemented here too, but the way you did it works for me too.
Thanks for the mod!