Seasons change even when gamerule doDaylightCycle is off
RiverC opened this issue ยท 4 comments
I'm running [email protected] on a server; the config states "seasons change as days advance". However, turning off the gamerule "doDaylightCycle" will not stop the advancement of seasons at least on a multiplayer server.
To demonstrate this bug, you can simply set subseasons for a very short period (say, a day) and turn doDaylightCycle to false. Over the course of time, despite the sun being motionless, the character's temperature will change and the colors will change, indicating a change of season.
The same happens if no players are logged into the server (i.e. when you return to the server after some period, seasons will have changed despite no days having happened, and despite no chunks being ticked.) The same happens if doDaylightCycle is left on true.
That being said, is this the wrong way to pause season advancement on a server? My search indicated that this was supposed to work so that one did not have to shut down the server whenever all the players logged off. However, it doesn't.
I don't know how seasons work in terms of how they are calculated, but perhaps we simply need a gamerule for the season cycle, so we can set up a command block or something of the sort to detect players logging in / out and turning on / off both doDaylightCycle and the season cycle.
We did this because everyone logging back in in the middle of winter after it was late spring can be pretty deadly.
Thanks.
Hrm... I'm actually not sure whether I'd class this as intentional or a bug, as seasons do operate independently of the day/night cycle, however on the same note they should always be in sync with it. There is currently a command to set the current season however there isn't one for pausing the progression. I'll have to think about the best approach here, although I think it is reasonable to expect that game rule to impact seasons too.
I'd suggest that whenever the the check is made to progress the season, check if the gamerule is set, and if so, do nothing.
Edit: Actually, maybe that's a bit hasty. Someone might want to have no day/night cycle, but still have seasons progress, such as maybe in a custom dimension.
You could always add a doSeasonCycle
gamerule to allow people to decide for themselves.
Closing this since we're moving seasons to a separate mod (https://github.com/Glitchfiend/SereneSeasons).