diff --git a/init.lua b/init.lua index 6aee867..0d14a59 100644 --- a/init.lua +++ b/init.lua @@ -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 }) +