allow players who can access the chest to dig it

This commit is contained in:
flux 2022-04-01 13:31:24 -07:00
parent d1093fe448
commit 6d2bfe336a
1 changed files with 7 additions and 6 deletions

View File

@ -164,7 +164,7 @@ chesttools.on_receive_fields = function(pos, formname, fields, player)
selected = 'main';
end
local inv_list = 'main';
if( selected == 'main' ) then
if( selected == 'main' ) then
inv_list = 'main';
elseif( selected == 'craft' ) then
inv_list = 'craft';
@ -431,7 +431,7 @@ chesttools.form_input_handler = function( player, formname, fields)
chesttools.update_chest( pos, formname, fields, player);
return true; -- this function was responsible for handling the input
end
return;
end
end
@ -469,10 +469,11 @@ minetest.register_node( 'chesttools:shared_chest', {
"listring[current_player;main]")
end,
can_dig = function(pos,player)
local meta = minetest.get_meta(pos);
can_dig = function(pos, player)
local player_name = (player and player.get_player_name and player:get_player_name()) or ""
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
return inv:is_empty("main") and player:get_player_name() == meta:get_string('owner');
return player_name and inv:is_empty("main") and not minetest.is_protected(pos, player_name)
end,
allow_metadata_inventory_move = function(pos, from_list, from_index,
@ -573,7 +574,7 @@ minetest.register_node( 'chesttools:shared_chest', {
formspec = 'size['..tostring(offset)..',6.5]'..formspec;
-- only show the formspec if it really is a chest that can be updated
if( can_be_upgraded ) then
minetest.show_formspec( name, "chesttools:update", formspec );
minetest.show_formspec( name, "chesttools:update", formspec );
end
return nil;
end,