Mods / Solar Years

Tags: #Other #Tweak
Author: Sume
Side: Both
Created: Mar 14th at 3:01 PM
Last modified: Aug 30th at 12:30 PM
Downloads: 1976
Follow Unfollow 97

Latest release (for Vintage Story 1.20.12 - 1.21.0, potentially outdated):
solaryears_3.0.6.zip  1-click install


If you have tried to play the game with months similar to what we have in real life, you have probably realised the best you can do is set the month size to 30. This hack has some caveats; you miss dates like January 31st, experience the nonexistent February 30th, and only have a 360-day year.

 

At first glance, and for most parts, this is fine, but accurate days have some benefits like: seeing your birthday or holidays in-game, even if they happen to be on the 31st, and having a more intuitive grasp of the number of days in a year.

 

So, what does this mod do:

  • Adds a 365-day year with the correct number of days for each month
  • Adds leap days for years divisible by 4 (currently it does not check for divisibility by 100 and 400)
  • It checks if you configured the world with 30-day months, otherwise it does not change anything
  • Allows you to customize the calendar via the solaryears.json file (Since v3.0):
    •  Change the name and length of each month
    • Change the starting month (vanilla and default: May)
    • Change the frequency of leap years
    • Change the amount of days to add in leap years and the month to receive them

 

The code is available in a repository to report, browse or tackle any issues or suggestions. The repository also includes a configuration for the following calendars:


[Important] Known and possible issues of version 3.0:

  • This mod needs to be more tested on multiplayer servers
  • The season system does not work (solstice in the configuration), I could not figure out why, but it is possibly related to hard-coded calculations in the game that I cannot change


Icon created by Freepik - Flaticon

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
3.0.6 solaryears
1.20.12 - 1.21.0
567 Aug 28th at 12:07 PM solaryears_3.0.6.zip 1-click install

fix: editing a single-player world crashes the game

3.0.5 solaryears
1.21.0-rc.7 - 1.21.0
23 Aug 28th at 10:44 AM solaryears_3.0.5.zip 1-click install

fix: crash when starting single-player world

3.0.4 solaryears 56 Aug 27th at 2:01 PM solaryears_3.0.4.zip 1-click install

add: synchronization between client and server (experimental)

3.0.1 solaryears
1.20.11 - 1.21.0
84 Aug 21st at 6:50 PM solaryears_3.0.1.zip 1-click install

fix: custom months were not working

3.0.0 solaryears 17 Aug 21st at 5:32 PM solaryears_3.0.0.zip 1-click install

update: added a configuration file to describe the months and days
update: completely changed the code to allow for configurable months

2.0.1 solaryears 162 Aug 18th at 5:12 PM solaryears_2.0.1.zip 1-click install

add: leap years

1.0.1 solaryears 968 Mar 17th at 6:01 PM solaryears_1.0.1.zip 1-click install
  • feature: the mod is only loaded if the number of days per month is set to 30
  • fix: game does not start at February when number of days per month not changed
  • fix: crash at start (possibly)
  • dev: added debug messages to indicate if the mod loads or is skipped
1.0.0 solaryears 95 Mar 14th at 3:01 PM solaryears_1.0.0.zip 1-click install

Initial version


24 Comments (oldest first | newest first)

💬 BraniyaKz, Oct 31st at 5:15 AM

Okaibae - I tested this with default settings, and spawned a new world with only Simple HUD Clock patch installed, and it couldn't seem to display the correct season or date. I'm unsure what's causing the error, or if this is even a problem on your side of things.

💬 Sameal, Oct 18th at 9:37 PM

Hey this mod is great im currently in may and the world thinks its fall lol

 

💬 Sume , Sep 1st at 3:42 PM (modified Sep 1st at 3:46 PM)

Theafe, thanks for the suggestion! I have the plans to add a more involved system for leap years to allow for different months to be changed. Besides that, many world calendars do not use fixed leap year periods, instead relying on "adding a day when needed for the equinox/solstice to fall on a specific day", so I'd probably add an option to use a randomizer for defining if a year is bissextile or not. With that, you can probably do something like what you want. After I implement it, I can give you a sample configuration file.

💬 Sume , Sep 1st at 3:33 PM

webp_Inept, thank you for the report! Can you send me your server-debug.log or client-debug.log (whichever file you have access to)? So I can understand better what's happening. Also, if you are using mods to see the current date, can you indicate which one?

💬 Theafe, Sep 1st at 12:57 AM

Hello, I really like the custom calendar system.
Could you add an option to have the leap day occur on different months?
If so, it would be nice to be able to define the order in the config, or let the order be random so that leap days could even be a surprise (even if you know one will happen during the year, just not which month).

💬 webp_Inept, Aug 31st at 4:52 PM

Just to let you know, I went to make a world with this mod enabled and though I had to set the base game "days per month" setting to 30 days, and when i created the world I started on Jan 1st. Dont know if this is a bug with this mod or the base game or if its even a bug at all but just thought you might want to know about it.

💬 Sume , Aug 28th at 10:45 AM (modified Aug 28th at 12:27 PM)

Ikaahi, thank you for the report, I'm trying to find a way to fix it.

Edit: I think it is fixed. For the old games: open each one using the new version of the mod, after that you should be able to edit them.

💬 Ikaahi, Aug 28th at 12:26 AM

it seems that trying to edit any world generated using solaryears crashes the game immediately

and i dont mean like actual editing, i clicked the edit button with the intention of copying my world configuration. clicking that crashes the game

💬 EnderWarlock, Aug 27th at 1:10 PM

Looking through the Martian calendar config makes me want to start up a world with settings to emulate a terraformed Mars. Have it be dry/arid with low foliage; probably 70% land. 

💬 Sume , Aug 21st at 5:45 PM (modified Aug 21st at 6:52 PM)

Caliess Ribsin I added a testing release with a configuration file for custom calendars; it needs a bit more testing and possibly some changes for servers, but it should work in single player. I'll make it work for multiplayer when I can.

Caliess, I also added a Darian calendar configuration. 

💬 Ribsin, Aug 21st at 7:21 AM

love this great idea!!

it would be really cool if with a config you could edit the amount of days in a year, leap year length, month and days names. I was going to make a custome calander mod to do that for a server i host but this has just made think about leap years lol 

💬 Sume , Aug 20th at 12:21 PM (modified Aug 20th at 12:22 PM)

Caliess that's an interesting idea, thank you for your suggestion, I'll add it to the list of issues.

That would require the mod to have a configuration file and allow it to describe the names and lengths of the months, and describe the leap year system (there are so many over the world that I may implement them one by one, starting with the way the Julian calendar works, which is adding a day at the end of a specific month).

I wanted to learn how to use the config system either way for allowing the new year to be on May 1st, as that's our first day in game, so I'll implement your suggestion as well when I can.

💬 Caliess, Aug 20th at 6:51 AM

Would it be possible to use this mod to make some other weird fantasy calendars work (a homebrew dnd world's calendar, with 687 days, based of mar's solar year) or would that require another mod/more code of some sort

💬 Damonicus1986, Apr 22nd at 11:24 PM

Okaibae thank you soo much

💬 Sume , Apr 22nd at 5:37 PM

Darknel, if I understand correctly, the base game already includes commands for this. You can use:

  • /time hoursperday [0-9999] if you want more hours (the default is 24)
  • /time calendarspeedmul if you want the hours to pass slower (the default is 0.5)
💬 Sume , Apr 22nd at 5:10 PM

Damonicus1986, it looks like a problem with Status Hud, they are probably not getting the date from the game, but doing calculations using other data. For the default game it works, but with mods like mine, it does not. The character menu should display the correct date.

Edit: I also made a pull request for Status Hud.

💬 Damonicus1986, Apr 20th at 12:38 AM

for some reason my days display are not synced ..  in game shows 18 september, and on status hud 21st september that is after i enabled solar years

💬 Darknel, Mar 30th at 2:22 PM

Hola, es posible que esta modificacion cambie la duracion del ciclo dia/noche, me gustan los dias y noche mas largos, gracias.

💬 Sume , Mar 17th at 6:10 PM

CG23Sailor, ok. It looks like everything is correct; I added a new release that makes the mod only load for 30-day-month worlds and adds some debug information to the logs.

 

So, if you can help me understand what's happening on your side:

  • Update Solar Years to v1.0.1
  • Create a world with 30-day months
  • Run the command /time add 30 day
  • Check if the command output or the character window still indicates June 1st
  • If it does, I would like to see your logs, specifically client-debug.log

Thank you for the information either way. I could not reproduce it, but I want to fix the problem.

💬 CG23Sailor, Mar 17th at 5:15 PM

@Okaibae 
"did you create a world with 30-day months and let the time pass?"

Yes.

"Just to be sure, are you checking the date using the character window or a mod?"
Yes. Character Window now says June 2nd.
 It was May a few days earlier. 

Even with your Mod it still skips all of April and May.


💬 Sume , Mar 17th at 2:42 PM

Hello, CG23Sailor, did you create a world with 30-day months and let the time pass? Just to be sure, are you checking the date using the character window or a mod?

Yes, you are correct; currently, there's no config file; this mod only changes the game code itself, it does not use the asset system.

💬 CG23Sailor, Mar 17th at 1:43 PM

This mod seems to do nothing.
It just goes to May 30th and then skips to June 1st. Same as the normal game when months are set to 30.

There is no Config file or anything else that seems to be added or altered, just the zip file sitting in the Mods folder.

Am I missing something?

💬 Sume , Mar 15th at 12:02 PM

Yes, the exact number of days a crop takes to grow should be the same as when using 30-day months. Victim

💬 Victim, Mar 15th at 6:35 AM

Does this affect crops the same as if it were just set to 30 days?

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