Mods / Water Weather Simulation Redux

Tags: #Tweak
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

Added compatibility with Config lib - so all mod options can now be changed via it's in-game menu
1.1.0 283 Sep 14th at 11:06 PM waterweathersimulationredux_1.1.0.zip 1-click install

snowAccum fix

 

Added next options:

  • RespectSnowAccum - when set to true and "/worldconfig snowAccum" (wiki) is disabled - ice melt/freeze from this mod will not occur (credit to Reizeron for suggestion)
  • FixSnowAccum - since "/worldconfig snowAccum" is broken in the base game at the moment - I added an optional fix to it's behaviour. With fix enabled and "/worldconfig snowAccum" set to False - no snow and ice will generate in the world.

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

17 Comments (oldest first | newest first)

💬 The_Revisionist, 6 days ago

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).

💬 organicoil , 6 days ago

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.

💬 The_Revisionist, 6 days ago

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.

💬 Sidfu, Sep 20th at 4:34 PM

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. :(

💬 El_Neuman, Sep 20th at 2:53 PM

That's should be on the base game))

💬 organicoil , Sep 20th at 1:03 PM

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.

💬 ChiliKing, Sep 16th at 6:53 AM (modified Sep 16th at 6:54 AM)

This is awesome! frozen lakes in summer has always bothered me.

💬 organicoil , Sep 15th at 12:18 AM

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?

💬 Sidfu, Sep 14th at 11:55 PM

can you look into comp beftween the mod and this one.

💬 The_Revisionist, Sep 14th at 12:38 AM

Thanks for reviving this mod!

💬 Ikkus, Sep 13th at 11:26 PM

This is fantastic!

💬 organicoil , Sep 13th at 6:49 PM

Samogitia That's the main idea :)

💬 organicoil , Sep 13th at 6:48 PM (modified Sep 13th at 6:50 PM)

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

💬 Samogitia, Sep 13th at 4:12 PM

Omg... Will this finaly fix "ice blocks in the summer" nonsense.

💬 Guimoute, Sep 13th at 3:45 PM (modified Sep 13th at 3:46 PM)

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?

💬 organicoil , Sep 13th at 2:26 PM

Reizeron, thanks for the feedback! I'll definitely look into these two things

💬 Reizeron, Sep 13th at 2:11 PM

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!

 (edit comment delete)
Основной веб-сайт | Почтовый сервер | FTP сервер | Административная панель | API интерфейс | Content Delivery Network | Статические файлы | Ресурсы сайта | Изображения | Файловое хранилище | Блог | Интернет-магазин | Техническая поддержка | Справочная система | Документация | Форум | Новости | Загрузки | Демонстрация | Тестовая среда | Приложение | Медиа контент | Разработка | Промежуточная среда | Бета версия | Безопасная зона | Вход в систему | Панель управления | Портал | Система управления контентом