mirror of
				https://github.com/luanti-org/minetest_game.git
				synced 2025-10-31 15:45:21 +01:00 
			
		
		
		
	Chests: Fix locked chest protection against explosions (#1886)
Fixes #1885
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user