forked from mtcontrib/homedecor_modpack
testing node ownership workaround for one of the doors. Others to follow.
This commit is contained in:
parent
b099d5717c
commit
ead549405e
@ -70,14 +70,21 @@ minetest.register_node("homedecor:door_wood_plain_bottom_left", {
|
|||||||
fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16 }
|
fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16 }
|
||||||
},
|
},
|
||||||
on_place = function(itemstack, placer, pointed_thing)
|
on_place = function(itemstack, placer, pointed_thing)
|
||||||
fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
|
||||||
local pos = pointed_thing.above
|
if type(IsPlayerNodeOwner)=="function" then
|
||||||
if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then
|
if not IsPlayerNodeOwner(pos, user:get_player_name()) then
|
||||||
minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' )
|
minetest.chat_send_player( placer:get_player_name(), "Sorry, "..getLastOwner(pos).." owns that spot." )
|
||||||
return
|
end
|
||||||
|
else
|
||||||
|
fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
||||||
|
local pos = pointed_thing.above
|
||||||
|
if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then
|
||||||
|
minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' )
|
||||||
|
return
|
||||||
|
end
|
||||||
|
minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "homedecor:door_wood_plain_top_left", param2=fdir})
|
||||||
|
return minetest.item_place(itemstack, placer, pointed_thing)
|
||||||
end
|
end
|
||||||
minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "homedecor:door_wood_plain_top_left", param2=fdir})
|
|
||||||
return minetest.item_place(itemstack, placer, pointed_thing)
|
|
||||||
|
|
||||||
end,
|
end,
|
||||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||||
@ -164,14 +171,20 @@ minetest.register_node("homedecor:door_wood_plain_bottom_right", {
|
|||||||
},
|
},
|
||||||
drop = "homedecor:door_wood_plain_bottom_left",
|
drop = "homedecor:door_wood_plain_bottom_left",
|
||||||
on_place = function(itemstack, placer, pointed_thing)
|
on_place = function(itemstack, placer, pointed_thing)
|
||||||
fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
if type(IsPlayerNodeOwner)=="function" then
|
||||||
local pos = pointed_thing.above
|
if not IsPlayerNodeOwner(pos, user:get_player_name()) then
|
||||||
if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then
|
minetest.chat_send_player( placer:get_player_name(), "Sorry, "..getLastOwner(pos).." owns that spot." )
|
||||||
minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' )
|
end
|
||||||
return
|
else
|
||||||
|
fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
||||||
|
local pos = pointed_thing.above
|
||||||
|
if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then
|
||||||
|
minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' )
|
||||||
|
return
|
||||||
|
end
|
||||||
|
minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "homedecor:door_wood_plain_top_right", param2=fdir})
|
||||||
|
return minetest.item_place(itemstack, placer, pointed_thing)
|
||||||
end
|
end
|
||||||
minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "homedecor:door_wood_plain_top_right", param2=fdir})
|
|
||||||
return minetest.item_place(itemstack, placer, pointed_thing)
|
|
||||||
|
|
||||||
end,
|
end,
|
||||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||||
|
Loading…
Reference in New Issue
Block a user