2017-04-19 11:08:58 +02:00
moremesecons = { }
2017-04-19 18:33:36 +02:00
function moremesecons . setting ( modname , settingname , default , min )
2017-04-19 11:08:58 +02:00
local setting = " moremesecons_ " .. modname .. " . " .. settingname
2017-04-19 13:27:06 +02:00
if type ( default ) == " boolean " then
2017-04-19 11:08:58 +02:00
local ret = minetest.setting_getbool ( setting )
if ret == nil then
ret = default
end
return ret
elseif type ( default ) == " string " then
return minetest.setting_get ( setting ) or default
elseif type ( default ) == " number " then
local ret = tonumber ( minetest.setting_get ( setting ) ) or default
if ret ~= ret then -- NaN
2017-04-19 18:33:36 +02:00
minetest.log ( " warning " , " [moremesecons_ " .. modname .. " ]: setting ' " .. setting .. " ' is NaN. Set to default value ( " .. tostring ( default ) .. " ). " )
2017-04-19 11:08:58 +02:00
ret = default
end
2017-04-19 18:33:36 +02:00
if min and ret < min then
minetest.log ( " warning " , " [moremesecons_ " .. modname .. " ]: setting ' " .. setting .. " ' is under minimum value " .. tostring ( min ) .. " . Set to minimum value ( " .. tostring ( min ) .. " ). " )
ret = min
2017-04-19 11:08:58 +02:00
end
return ret
end
end