1
0
mirror of https://github.com/minetest/minetest_game.git synced 2024-12-22 23:10:17 +01:00

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 sfan5
parent cecbfc1676
commit 09e3505ea1

View File

@ -1973,6 +1973,13 @@ function default.register_chest(name, d)
open_chests[clicker:get_player_name()] = { pos = pos,
sound = def.sound_close, swap = name }
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
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() ..
" from chest at " .. minetest.pos_to_string(pos))
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_closed = table.copy(def)
@ -2018,6 +2018,7 @@ function default.register_chest(name, d)
def_opened.can_dig = function()
return false
end
def_opened.on_blast = function() end
def_closed.mesh = nil
def_closed.drawtype = nil