remove ownership from anvil

master
Milan* 2017-10-25 15:59:49 +02:00
parent e40a4ee838
commit cab2825e4c
1 changed files with 28 additions and 26 deletions

View File

@ -86,46 +86,48 @@ minetest.register_node("cottages:anvil", {
meta:set_string("formspec", cottages_anvil_formspec ); meta:set_string("formspec", cottages_anvil_formspec );
end, end,
after_place_node = function(pos, placer) --after_place_node = function(pos, placer)
local meta = minetest.get_meta(pos); --local meta = minetest.get_meta(pos);
meta:set_string("owner", placer:get_player_name() or ""); --meta:set_string("owner", placer:get_player_name() or "");
meta:set_string("infotext", S("Anvil (owned by %s)"):format((meta:get_string("owner") or ""))); --meta:set_string("infotext", S("Anvil (owned by %s)"):format((meta:get_string("owner") or "")));
meta:set_string("formspec", -- meta:set_string("formspec",
cottages_anvil_formspec, -- cottages_anvil_formspec,
"label[2.5,-0.5;"..S("Owner: %s"):format(meta:get_string('owner') or "").."]"); -- "label[2.5,-0.5;"..S("Owner: %s"):format(meta:get_string('owner') or "").."]");
end, --end,
can_dig = function(pos,player) can_dig = function(pos,player)
local meta = minetest.get_meta(pos); local meta = minetest.get_meta(pos);
local inv = meta:get_inventory(); local inv = meta:get_inventory();
local owner = meta:get_string('owner'); -- local owner = meta:get_string('owner');
if( not( inv:is_empty("input")) if( not( inv:is_empty("input"))
-- or not( inv:is_empty("material")) -- or not( inv:is_empty("material"))
-- or not( inv:is_empty("sample")) -- or not( inv:is_empty("sample"))
or not( inv:is_empty("hammer")) or not( inv:is_empty("hammer")))
or not( player ) -- or not( player )
or ( owner and owner ~= '' and player:get_player_name() ~= owner )) then -- or ( owner and owner ~= '' and player:get_player_name() ~= owner ))]] then
then
return false;
end
return true; return true;
--else
end
end, end,
-- return true;
-- end,
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
if( player and player:get_player_name() ~= meta:get_string('owner' ) and from_list~="input") then --if( player and player:get_player_name() ~= meta:get_string('owner' ) and from_list~="input") then
return 0 -- return 0
end --end
return count; return count;
end, end,
allow_metadata_inventory_put = function(pos, listname, index, stack, player) allow_metadata_inventory_put = function(pos, listname, index, stack, player)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
if( player and player:get_player_name() ~= meta:get_string('owner' ) and listname~="input") then --[[if( player and player:get_player_name() ~= meta:get_string('owner' ) and listname~="input") then
return 0; return 0;
end end]]
if( listname=='hammer' and stack and stack:get_name() ~= 'cottages:hammer') then if( listname=='hammer' and stack and stack:get_name() ~= 'cottages:hammer') then
return 0; return 0;
end end
@ -143,9 +145,9 @@ minetest.register_node("cottages:anvil", {
allow_metadata_inventory_take = function(pos, listname, index, stack, player) allow_metadata_inventory_take = function(pos, listname, index, stack, player)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
if( player and player:get_player_name() ~= meta:get_string('owner' ) and listname~="input") then --[[if( player and player:get_player_name() ~= meta:get_string('owner' ) and listname~="input") then
return 0 return 0
end end]]
return stack:get_count() return stack:get_count()
end, end,
@ -172,10 +174,10 @@ minetest.register_node("cottages:anvil", {
or input:get_name() == "technic:water_can" or input:get_name() == "technic:water_can"
or input:get_name() == "technic:lava_can" ) then or input:get_name() == "technic:lava_can" ) then
meta:set_string("formspec", --[[meta:set_string("formspec",
cottages_anvil_formspec, cottages_anvil_formspec,
"label[2.5,-0.5;"..S("Owner: %s"):format(meta:get_string('owner') or "").."]"); "label[2.5,-0.5;"..S("Owner: %s"):format(meta:get_string('owner') or "").."]");
return; return;]]
end end
-- 65535 is max damage -- 65535 is max damage