Page MenuHome1F616EMO Bugtracker

init.lua
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

init.lua

-- twi_mods/twi_cmds/init.lua
-- commands
-- Copyright (C) 2024 1F616EMO
-- SPDX-License-Identifier: LGPL-3.0-or-later
local S = core.get_translator("twi_cmds")
core.register_chatcommand("day", {
privs = { basic_settime = true },
description = S("Set time to day"),
func = function(name)
local current_time = core.get_timeofday()
local new_time = 0.3125
if math.abs(current_time - new_time) < 0.042 then
return false, S("Be patient!")
end
core.set_timeofday(new_time)
core.log("action", name .. " set time to day")
for _, player in ipairs(core.get_connected_players()) do
local name = player:get_player_name()
background_music.set_start_play_gap(name, 2)
background_music.decide_and_play(player, true)
end
core.sound_play("ui_morning", { gain = 1.0 })
return true, S("Successfully set time to day.")
end,
})
core.register_privilege("basic_settime", {
description = S("Can set time to day using /day"),
give_to_singleplayer = true,
})
core.register_on_newplayer(function(player)
-- Assume new players have privs properly set
local meta = player:get_meta()
meta:set_int("twi_cmds_basic_settime", 1)
end)
core.register_on_joinplayer(function(player)
local meta = player:get_meta()
if meta:get_int("twi_cmds_basic_settime") == 1 then
return
end
local name = player:get_player_name()
local privs = core.get_player_privs(name)
if not privs.basic_settime then
privs.basic_settime = true
core.set_player_privs(name, privs)
end
meta:set_int("twi_cmds_basic_settime", 1)
end)

File Metadata

Mime Type
text/plain
Expires
Mon, Mar 2, 6:25 PM (2 h, 37 m ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
f0/9d/771be18db90d67e750cf8f9743f6
Default Alt Text
init.lua (1 KB)

Event Timeline