
[Feature Request] Ecliptic Seasons Support
MidasMischief opened this issue · 3 comments
In Control has support for Serene Seasons, which is awesome! I love being able to define what mobs spawn in what season; it adds a whole new layer of life into the world. But there is a problem with Serene Seasons when it comes to a server: due to chunk-based season tracking, it can be quite taxing on your server tick time; it does not work well with mods such as Distant Horizons and can leave very ugly snow in chunks that have not been loaded for a while.
Ecliptic Seasons is much more performant for a server as it uses much more simpler season logic
From the Ecliptic Seasons GitHub Page:
One significant change is winter, which is where this mod began. When it’s cold enough in the Minecraft world, the sky will snow instead of rain, and snow layers will gradually accumulate on the ground. While this fits our understanding of the real world, the block update mechanism in Minecraft makes this a disaster.
Although it looks beautiful, every time a new snow block is placed, Minecraft has to search for the highest Y point at that XZ position, send an update to the client, and request a rendering update. In single-player worlds, this might not be a problem, but in multiplayer servers where many chunks are loaded, this search behavior will consume a lot of resources, causing server lag. The situation worsens when the snow melts. When chunks are loaded, traversing the chunks is equally time-consuming, and it’s hard to determine whether the snow should melt. Additionally, Minecraft’s neighbor update mechanism may be triggered, leading to even more server strain. And that’s just when chunks aren’t loaded and unloaded. In fact, for unloaded chunks, no processing occurs, which can be even more confusing. For example, you might see snow all over the plains in the heat of summer, or arrive in a winter area and see no snow at all.
Ecliptic Seasons changes this with a brand new snow-covering mechanism. Now, when the base temperature of a biome isn't cold enough, snow may still fall in winter but won't trigger block update mechanics. Blocks will gradually be covered by a thin layer of snow, whether it's dirt, grass, leaves, or even your rooftop. In the unseen, unloaded chunks, snowflakes will fall in a special way. You won’t find snow in summer plains, and when arriving at your new home in winter, there’s no need to wait for snow to refresh. Since fewer chunk calculations are required at the server level, server resource consumption will be greatly reduced, improving performance and avoiding fragmented snowfall experiences.
For this reason, I am wanting to potentially swap to Ecliptic Seasons in my modpack, but that would mean giving up on the season-based spawning provided by In Control, that is why I am requesting for support for it so that I can continue to use the features provided by the mod.
The ecliptic seasons dev has added this feature in their multimod patch for ecliptic seasons!
@MoonsMess what do you mean? I'd like to add support in In Control but is this no longer required?
https://github.com/joe-vettek/Ecliptic-Seasons-MultiMod-Patch
The author has an addon for ecliptic seasons that adds support for many mods including incontrol. There is an example script in the link and I have used it to make season-based spawns that work as expected.
I'm not sure if adding this on your end would be better, but support definitely exists.