diff options
Diffstat (limited to 'dispatcher.lua')
| -rw-r--r-- | dispatcher.lua | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/dispatcher.lua b/dispatcher.lua index 5a2cef5..80bd6ef 100644 --- a/dispatcher.lua +++ b/dispatcher.lua @@ -84,6 +84,12 @@ end local function handlefields(pos,_,fields,sender) local playername = sender and sender:get_player_name() or "" + if core.settings:get_bool("celevator.controller_screen_protected",false) then + if core.is_protected(pos,playername) and not core.check_player_privs(playername,{protection_bypass=true}) then + core.record_protection_violation(pos,playername) + return + end + end local event = {} event.type = "ui" event.fields = fields @@ -151,10 +157,12 @@ core.register_node("celevator:dispatcher",{ return end local name = puncher:get_player_name() - if core.is_protected(pos,name) and not core.check_player_privs(name,{protection_bypass=true}) then - core.chat_send_player(name,S("Can't open cabinet - cabinet is locked.")) - core.record_protection_violation(pos,name) - return + if core.settings:get_bool("celevator.controller_cabinet_protected",true) then + if core.is_protected(pos,name) and not core.check_player_privs(name,{protection_bypass=true}) then + core.chat_send_player(name,S("Can't open cabinet - cabinet is locked.")) + core.record_protection_violation(pos,name) + return + end end node.name = "celevator:dispatcher_open" core.swap_node(pos,node) |
