drop direct support for dedicated protection mods

just use minetest's standard protection functions instead

(leave it up to those protection mods to do their job properly)
This commit is contained in:
Vanessa Ezekowitz 2015-03-23 17:40:00 -04:00
parent 388297de4e
commit f80dec1220
2 changed files with 3 additions and 35 deletions

View File

@ -283,8 +283,9 @@ minetest.register_node("pipeworks:entry_panel_empty", {
selection_box = panel_cbox, selection_box = panel_cbox,
collision_box = panel_cbox, collision_box = panel_cbox,
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
if not pipeworks.node_is_owned(pointed_thing.under, placer) local playername = placer:get_player_name()
and not pipeworks.node_is_owned(pointed_thing.above, placer) then if not minetest.is_protected(pointed_thing.under, playername)
and not minetest.is_protected(pointed_thing.above, playername) then
local node = minetest.get_node(pointed_thing.under) local node = minetest.get_node(pointed_thing.under)
if not minetest.registered_nodes[node.name] if not minetest.registered_nodes[node.name]

View File

@ -68,39 +68,6 @@ function pipeworks.may_configure(pos, player)
return not minetest.is_protected(pos, name) return not minetest.is_protected(pos, name)
end end
function pipeworks.node_is_owned(pos, placer)
local ownername = false
if type(IsPlayerNodeOwner) == "function" then -- node_ownership mod
if HasOwner(pos, placer) then -- returns true if the node is owned
if not IsPlayerNodeOwner(pos, placer:get_player_name()) then
if type(getLastOwner) == "function" then -- ...is an old version
ownername = getLastOwner(pos)
elseif type(GetNodeOwnerName) == "function" then -- ...is a recent version
ownername = GetNodeOwnerName(pos)
else
ownername = S("someone")
end
end
end
elseif type(isprotect)=="function" then -- glomie's protection mod
if not isprotect(5, pos, placer) then
ownername = S("someone")
end
elseif type(protector)=="table" and type(protector.can_dig)=="function" then -- Zeg9's protection mod
if not protector.can_dig(5, pos, placer) then
ownername = S("someone")
end
end
if ownername ~= false then
minetest.chat_send_player( placer:get_player_name(), S("Sorry, %s owns that spot."):format(ownername) )
return true
else
return false
end
end
function pipeworks.replace_name(tbl,tr,name) function pipeworks.replace_name(tbl,tr,name)
local ntbl={} local ntbl={}
for key,i in pairs(tbl) do for key,i in pairs(tbl) do