-
- Downloads
Add consistent monotonic day counter - get_day_count()
I've written several experimental bits of code that revolve around the need for a consistent calendar, but implementing one is extremely hard in mods due to time changes and mods overriding core.get_timeofday(), which will conflict. The second part of the problem is that doing this from a mod requires constant maintenance of a settings file. An implementation in core is trivial, however, and solves all of these problems at virtually no cost: No extra branches in server steps, and a single branch when minetest.set_time_of_day(), which is entirely reasonable. We store the day_count value in env_meta.txt. The use case is obvious: This change allows mods to create an actual virtual calendar, or properly account for seasonal changes, etc.. We add a "/days" chatcommand that displays the current day count. No permissions are needed. It can only retrieve the day count, not modify it.
Showing
- builtin/game/chatcommands.lua 7 additions, 0 deletionsbuiltin/game/chatcommands.lua
- doc/lua_api.txt 2 additions, 0 deletionsdoc/lua_api.txt
- src/environment.cpp 19 additions, 1 deletionsrc/environment.cpp
- src/environment.h 5 additions, 0 deletionssrc/environment.h
- src/script/lua_api/l_env.cpp 10 additions, 0 deletionssrc/script/lua_api/l_env.cpp
- src/script/lua_api/l_env.h 3 additions, 0 deletionssrc/script/lua_api/l_env.h
Please register or sign in to comment