From aa35ceb2f8939b211ddec687ff6c145b67de0190 Mon Sep 17 00:00:00 2001 From: Luke aka SwissalpS <161979+SwissalpS@users.noreply.github.com> Date: Tue, 17 Sep 2024 14:32:11 +0200 Subject: [PATCH 1/2] respect areas setting --- areas.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/areas.lua b/areas.lua index 78a24f4..d8906c6 100644 --- a/areas.lua +++ b/areas.lua @@ -9,7 +9,7 @@ end -- protection check local old_is_protected = minetest.is_protected function minetest.is_protected(pos, name) - if areas.getSmallestAreaAtPos then + if areas.getSmallestAreaAtPos and areas.config.use_smallest_area_precedence then local _, id = areas:getSmallestAreaAtPos(pos) if id then local required_priv = priv_areas[id] From 64654f6d694c0f1ce12e5d7fd22f6cd2b4ef328c Mon Sep 17 00:00:00 2001 From: Luke aka SwissalpS Date: Fri, 4 Oct 2024 10:33:47 +0200 Subject: [PATCH 2/2] de duplicate code --- areas.lua | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/areas.lua b/areas.lua index d8906c6..f67e9b1 100644 --- a/areas.lua +++ b/areas.lua @@ -9,24 +9,19 @@ end -- protection check local old_is_protected = minetest.is_protected function minetest.is_protected(pos, name) - if areas.getSmallestAreaAtPos and areas.config.use_smallest_area_precedence then + local area_list + if areas.config.use_smallest_area_precedence then local _, id = areas:getSmallestAreaAtPos(pos) - if id then - local required_priv = priv_areas[id] - if required_priv and not minetest.check_player_privs(name, required_priv) then - -- required privililege not met, protected - return true - end - end + area_list = id and { [id] = true } or {} else - local area_list = areas:getAreasAtPos(pos) - for id in pairs(area_list) do - local required_priv = priv_areas[id] - - if required_priv and not minetest.check_player_privs(name, required_priv) then - -- required privililege not met, protected - return true - end + area_list = areas:getAreasAtPos(pos) + end + for id in pairs(area_list) do + local required_priv = priv_areas[id] + + if required_priv and not minetest.check_player_privs(name, required_priv) then + -- required privililege not met, protected + return true end end