Chests: Fix locked chest protection against explosions (#1886)

Fixes #1885
This commit is contained in:
danielmeek32 2017-09-20 19:08:17 +01:00 committed by SmallJoker
parent c5c9e423ca
commit f33cc02080
1 changed files with 8 additions and 7 deletions

View File

@ -1973,6 +1973,13 @@ function default.register_chest(name, d)
open_chests[clicker:get_player_name()] = { pos = pos, open_chests[clicker:get_player_name()] = { pos = pos,
sound = def.sound_close, swap = name } sound = def.sound_close, swap = name }
end end
def.on_blast = function(pos)
local drops = {}
default.get_inventory_drops(pos, "main", drops)
drops[#drops+1] = "default:" .. name
minetest.remove_node(pos)
return drops
end
end end
def.on_metadata_inventory_move = function(pos, from_list, from_index, def.on_metadata_inventory_move = function(pos, from_list, from_index,
@ -1990,13 +1997,6 @@ function default.register_chest(name, d)
" takes " .. stack:get_name() .. " takes " .. stack:get_name() ..
" from chest at " .. minetest.pos_to_string(pos)) " from chest at " .. minetest.pos_to_string(pos))
end end
def.on_blast = function(pos)
local drops = {}
default.get_inventory_drops(pos, "main", drops)
drops[#drops+1] = "default:chest"
minetest.remove_node(pos)
return drops
end
local def_opened = table.copy(def) local def_opened = table.copy(def)
local def_closed = table.copy(def) local def_closed = table.copy(def)
@ -2018,6 +2018,7 @@ function default.register_chest(name, d)
def_opened.can_dig = function() def_opened.can_dig = function()
return false return false
end end
def_opened.on_blast = function() end
def_closed.mesh = nil def_closed.mesh = nil
def_closed.drawtype = nil def_closed.drawtype = nil