42 lines
1.5 KiB
Lua
42 lines
1.5 KiB
Lua
better_commands.settings = {}
|
|
|
|
---Gets a setting and stores it in better_commands.settings
|
|
---@param setting string
|
|
---@param default any
|
|
---@param type string?
|
|
local function get_setting(setting, default, type)
|
|
local long_setting = "better_commands_"..setting
|
|
if not type or type == "string" then
|
|
better_commands.settings[setting] = minetest.settings:get(long_setting) or default
|
|
elseif type == "bool" then
|
|
better_commands.settings[setting] = minetest.settings:get_bool(long_setting, default)
|
|
elseif type == "number" then
|
|
better_commands.settings[setting] = tonumber(minetest.settings:get(long_setting)) or default
|
|
elseif type == "comma_separated" then
|
|
local value = minetest.settings:get(long_setting)
|
|
better_commands.settings[setting] = value and value:split(",") or default
|
|
end
|
|
end
|
|
|
|
local settings = {
|
|
{"override", false, "bool"},
|
|
{"acovg_time", false, "bool"},
|
|
{"save_interval", 3, "number"},
|
|
{"kill_creative_players", false, "bool"},
|
|
{"clear_lists", {"main", "craft", "offhand"}, "comma_separated"},
|
|
|
|
{"scoreboard_picked_up", true, "bool"},
|
|
{"scoreboard_mined", true, "bool"},
|
|
{"scoreboard_placed", true, "bool"},
|
|
{"scoreboard_crafted", true, "bool"},
|
|
{"scoreboard_health", true, "bool"},
|
|
{"scoreboard_death", true, "bool"},
|
|
}
|
|
|
|
function better_commands.reload_settings()
|
|
for _, setting in ipairs(settings) do
|
|
get_setting(unpack(setting))
|
|
end
|
|
end
|
|
|
|
better_commands.reload_settings() |