geforkt von mtcontrib/pipeworks
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)
Dieser Commit ist enthalten in:
@@ -283,8 +283,9 @@ minetest.register_node("pipeworks:entry_panel_empty", {
|
||||
selection_box = panel_cbox,
|
||||
collision_box = panel_cbox,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
if not pipeworks.node_is_owned(pointed_thing.under, placer)
|
||||
and not pipeworks.node_is_owned(pointed_thing.above, placer) then
|
||||
local playername = placer:get_player_name()
|
||||
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)
|
||||
|
||||
if not minetest.registered_nodes[node.name]
|
||||
|
||||
33
init.lua
33
init.lua
@@ -68,39 +68,6 @@ function pipeworks.may_configure(pos, player)
|
||||
return not minetest.is_protected(pos, name)
|
||||
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)
|
||||
local ntbl={}
|
||||
for key,i in pairs(tbl) do
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren