diff --git a/API.md b/API.md index 8105719..7491c95 100644 --- a/API.md +++ b/API.md @@ -250,7 +250,7 @@ signs_lib.register_sign("basic_signs:sign_wall_glass", { * `signs_lib.rightclick_sign(pos, node, player, itemstack, pointed_thing)` - Open the default sign formspec, if the player has the `signslib_edit` privilege. + Open the default sign formspec, if the player has the `signslib_edit` privilege. (privilege can be set by `signs_lib.edit_priv` setting) * `signs_lib.destruct_sign(pos)` diff --git a/README.md b/README.md index 81b53fc..bb33427 100644 --- a/README.md +++ b/README.md @@ -67,3 +67,4 @@ The list of loaded, sign-bearing blocks is created/populated by an LBM (and trim * `signslib_edit` Allows to rotate signs and to open (and consequently edit) any default sign formspec. +(privilege can be set by `signs_lib.edit_priv` setting) diff --git a/api.lua b/api.lua index 35384d0..11fb584 100644 --- a/api.lua +++ b/api.lua @@ -812,7 +812,7 @@ function signs_lib.can_modify(pos, player) if owner == "" or playername == owner - or (minetest.check_player_privs(playername, {signslib_edit=true})) + or minetest.get_player_privs(playername)[signs_lib.edit_priv] or (playername == minetest.settings:get("name")) then return true end @@ -1292,7 +1292,11 @@ minetest.register_chatcommand("regen_signs", { end }) -minetest.register_privilege("signslib_edit", {}) +minetest.register_on_mods_loaded(function() + if not minetest.registered_privileges[signs_lib.edit_priv] then + minetest.register_privilege("signslib_edit", {}) + end +end) diff --git a/init.lua b/init.lua index 7ee6c59..7518df4 100644 --- a/init.lua +++ b/init.lua @@ -9,6 +9,8 @@ signs_lib.path = minetest.get_modpath(minetest.get_current_modname()) signs_lib.S = minetest.get_translator(minetest.get_current_modname()) +signs_lib.edit_priv = minetest.settings:get("signs_lib.edit_priv") or "signslib_edit" + dofile(signs_lib.path.."/encoding.lua") dofile(signs_lib.path.."/api.lua") dofile(signs_lib.path.."/standard_signs.lua") diff --git a/settingstypes.txt b/settingstypes.txt new file mode 100644 index 0000000..81ba035 --- /dev/null +++ b/settingstypes.txt @@ -0,0 +1 @@ +signs_lib.edit_priv (Allows to rotate signs and to open (and consequently edit) any default sign formspec) string signslib_edit