You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.2 KiB
40 lines
1.2 KiB
local world_path = minetest.get_worldpath() |
|
|
|
areas.config = {} |
|
|
|
local function setting(tp, name, default) |
|
local full_name = "areas." .. name |
|
local value |
|
if tp == "boolean" then |
|
value = minetest.settings:get_bool(full_name) |
|
elseif tp == "string" then |
|
value = minetest.settings:get(full_name) |
|
elseif tp == "position" then |
|
value = minetest.setting_get_pos(full_name) |
|
elseif tp == "number" then |
|
value = tonumber(minetest.settings:get(full_name)) |
|
else |
|
error("Cannot parse setting type " .. tp) |
|
end |
|
|
|
if value == nil then |
|
value = default |
|
end |
|
areas.config[name] = value |
|
end |
|
|
|
-------------- |
|
-- Settings -- |
|
-------------- |
|
|
|
setting("string", "filename", world_path.."/areas.dat") |
|
|
|
-- Allow players with a privilege create their own areas |
|
-- within the maximum size and number. |
|
setting("boolean", "self_protection", true) |
|
setting("string", "self_protection_privilege", "interact") |
|
setting("position", "self_protection_max_size", {x = 64, y = 128, z = 64}) |
|
setting("number", "self_protection_max_areas", 8) |
|
-- For players with the areas_high_limit privilege. |
|
setting("position", "self_protection_max_size_high", {x = 512, y = 512, z = 512}) |
|
setting("number", "self_protection_max_areas_high", 32)
|
|
|