1
0
mirror of https://github.com/sys4-fr/server-nalc.git synced 2025-06-28 06:11:47 +02:00

Updated mesecons and pipeworks

- Added security on devices from pipeworks (breaker,placer)
- Added new mod in mesecons : mesecons_stickyblocks
This commit is contained in:
LeMagnesium
2015-03-31 18:08:41 +02:00
parent fee70f8fc3
commit a6bfdd377c
8 changed files with 114 additions and 80 deletions

View File

@ -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]

View File

@ -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