Fix time syncing again after /unsync_time

This commit is contained in:
GreenBlob 2024-05-02 01:49:27 +08:00
parent dc329a71b8
commit 1ec540695b

View File

@ -12,11 +12,15 @@ local function sync_time()
minetest.set_timeofday(get_time())
end
local sync_active = minetest.settings:get("real_world_time.sync_active") or "true"
local function sync_time_loop()
local game_time = truncate(minetest.get_timeofday())
local world_time = truncate(get_time())
if game_time ~= world_time then
sync_time()
if sync_active == "true" then
local game_time = truncate(minetest.get_timeofday())
local world_time = truncate(get_time())
if game_time ~= world_time then
sync_time()
end
end
minetest.after(60, sync_time_loop)
end
@ -32,6 +36,8 @@ minetest.register_chatcommand("sync_time", {
func = function(name, _)
minetest.setting_set("time_speed", 1)
sync_time()
sync_active = "true"
minetest.settings:set("real_world_time.sync_active", sync_active)
minetest.chat_send_player(name, "Time synced with real-world time")
end
})
@ -40,6 +46,9 @@ minetest.register_chatcommand("unsync_time", {
privs = { server = true },
func = function(name, _)
minetest.setting_set("time_speed", 72)
sync_active = "false"
minetest.settings:set("real_world_time.sync_active", sync_active)
minetest.chat_send_player(name, "Time speed has been restored to default")
end
})