Frost chunk updating with seasons to prevent summer snow from winter storm...
UraniumGears opened this issue ยท 1 comments
Feature Request
[ Frost chunk updating ]
What feature are you suggesting?
[ I suggest that whenever the player passes through a temperate biome that has received snow in the winter(a biome that can receive snow during the winter), in order to prevent snow from being still in the ground during different seasons, I suggest that we try this:
The Option:
Add a function that triggers in the start of every day. This function will check if a certain amount of time has passed in Autumn. If a certain amount of time has passed in Autumn, the function will automatically clear all the snow in the temperate areas of the world. This will not be handled all at once, but instead, the chunk will be updated as the player is passing through the area. By default, the amount of time passed should be equal to one day. A good way to implement this would be when the function is detects that a certain amount of time has passed, it would update a global variable say "Temperate_Frost" to a 1. Whenever the player passes through a chunk, it should call a function that would ask if "Temperate_Frost" is a one. If so, it should populate. If not, keep the chunk unchanged.
Once that is done, it would also be handy to write a function for the opposite, once a certain amount of time has passed in winter, the function will populate the temperate areas of the world with snow. This will be handled the same way as the first option. By default this should be one day.
Since this is just the introduction of the feature, we should keep things basic. To start with, when the function populates the snow, it should just do it with a single layer of snow at all blocks exposed to the sun. You could trigger the event during the day time and have it populate the world with any block that is exposed to sunlight. Do the same way when ridding the temperate world of snow. You can also have an altitude cutoff so that mountain peaks retain snow year-round.
Possible additions to make the feature more realistic:
Have the snow or lack of snow update with ticks instead of set days. Snow melt and snow coverage should be uniform in all biomes instead of where the player has been present.
Develop an algorithm that takes in biome temperature and altitude and determine which areas should stay snowbound year round and which places only during the winter.
]
Why should it be added?
[ It really breaks immersion whenever you travel to a chunk that doesn't contain your base and it still has 3 blocks of snow from that one time you went to go mining during the winter. By implementing this function, the mod will look a lot more professional and realistic to the player.
- Personal Note
I heard that ToughAsNails has met its demise. We're ya'll in contact with them in the past? I would interested to help resurrect the mod for 1.15. I have experience in C++ and C, and I am looking for a project to help me improve my Java skills during quarantine. I have alot of ideas to make the game more realistic and I would be happy to collaborate with the SereneSeasons team.]
This was already discussed a lot in the past, and someone had even made a PR for it, although there was a bit of a falling out and it never got merged.
It's probably not gonna happen at this point though. I personally don't like the idea of updating every single chunk (Loaded or unloaded) at once, cause it feels like something that would not only hinder performance, but risk corruption if something goes wrong. Even if it wasn't like that, you'd still have to check every block in the chunk for snow layers (Summer) or applicable blocks that snow could form (Winter), and that would be a huge hit to performance. It's already bad enough to generate/clear snow randomly per tick as it is.
It's really not that important of a feature anyway IMO, cause people aren't going to be travelling between a million chunks, and if they are, they'll likely be doing it frequently enough for the snow to melt normally.