Hello!
First: I've heard a lot of people complaining about the weird weather changes, and the weather got some rework in a20 so I bet the devs will make some more changes to make it more natural...
My "Punishing Weather" modlets have been converted to a20. The weather system/XML has changed a bit so I just rebuilt it and tried to emulate teh same "theory" on how I build them, which is essentially "flip the good weather chance and bad weather chances around so its mostly bad all the time" and "make the extremes for each biome more extreme" (usually temperature and wind). When/if the game allows you to die from extreme hot/cold I'll likely make "death packs" for the biomes so you have like a 10% chance of death by temperature unless you're wearing a lot of appropriate clothing and mods for temp regulation, or if you are in your base and by heat/cold sources... anyway...
I'm not aware of a way to change the "weather for a day" (Sunny for 4 days, rain for 1 day, sunny for 2 days, fog for 1 day, etc) as the "global weather" is untouchable by XML, you can only tweak the global weather per biome for a few things (like the global weather will be 75 and you can only say "snow biome is 40 degress colder than this by "default" but a storm is 60 degrees colder).
There is a DMT "seasonal weather" mod for a19 that can control the global weather from
@khzmusik here, but i think its still only for a19. And its DMT and not XML so it may be more difficult to tweak if you're not familiar with DMT mods. Maybe this one could be tweaked to do a "daily global weather condition", like trigger the global temp or precipitation to disallow storms or something, or "seasons" would be enough of what you're wanting but even then you may wish to tweak the biomes.xml...
Also: Just so you know the a20 version of my "PunishingWeather-Core"
here on github is pretty well documented in the biomes.xml on what I'm changing and why. I would also suggest looking at the top of the games "biomes.xml" file as the devs made some documentation there for what teh numbers and weather parameters can be and mean.
In my mod, for example, looking at these sections for each biome (snow biome for example) I have this which makes the "default" weather for the snow biome (usually cold and a little snowy) occur 14% of the time instead of 44%. Then I ramp up the probabilities of it being a "storm".
<!-- Purpose: Increase prob of worse weather conditions. Must add up to 100 -->
<set xpath="/worldgeneration/biomes/biome[@name='snow']/weather[@name='default']/@prob">14</set> <!-- DOUGH: Default prob="44" -->
<set xpath="/worldgeneration/biomes/biome[@name='snow']/weather[@name='fog']/@prob">10</set> <!-- DOUGH: Default prob="8" -->
<set xpath="/worldgeneration/biomes/biome[@name='snow']/weather[@name='snow']/@prob">40</set> <!-- DOUGH: Default prob="40" -->
<set xpath="/worldgeneration/biomes/biome[@name='snow']/weather[@name='storm']/@prob">36</set> <!-- DOUGH: Default prob="8" -->
Which alters this part of biomes.xml, where the weather probabilities are defined:
<!-- Snow Main Biome -->
<biome name="snow" topsoil_block="terrSnow" biomemapcolor="#FFFFFF" lootstage_modifier = "1" lootstage_bonus="20">
<spectrum name="snow"/>
<weather name="default" prob="44">
<Temperature min="26" max="32" prob="1"/>
<CloudThickness min="10" max="30" prob="1"/>
<Precipitation min="0" max="0" prob="1"/>
<Fog min="0" max="2" prob="1"/>
<Wind min="10" max="25" prob="1"/>
<ParticleEffect prefab="ParticleEffects/p_snowstorm1" ChunkMargin="7"/> <!-- only one weather can have ParticleEffects -->
</weather>
<weather name="fog" prob="8">
<Temperature min="20" max="30" prob="1"/>
<CloudThickness min="35" max="60" prob="1"/>
<Precipitation min="0" max="0" prob="1"/>
<Fog min="7" max="18" prob="1"/>
<Wind min="5" max="6" prob="1"/>
<spectrum name="Snowy"/>
</weather>
<weather name="snow" prob="40">
<Temperature min="18" max="28" prob="1"/>
<CloudThickness min="55" max="75" prob="1"/>
<Precipitation min="30" max="60" prob="1"/>
<Fog min="1" max="5" prob="1"/>
<Wind min="18" max="25" prob="1"/>
<spectrum name="Snowy"/>
</weather>
<weather name="storm" prob="8">
<Temperature min="12" max="18" prob="1"/>
<CloudThickness min="90" max="100" prob="1"/>
<Precipitation min="70" max="100" prob="1"/>
<Fog min="5" max="15" prob="1"/>
<Wind min="45" max="50" prob="1"/>
<spectrum name="Snowy"/>
</weather>
I also change up what a "default" and "snow" and storm" are for the other metrics ( Wind, Precipitation, etc) in other parts of the mod