If the node is special and has an on_blast() handler, we need
to call it instead of getting node drops manually. However, we
do want to know if drops should be added for the special nodes,
so we modify the on_blast() handler code to allow the nodedef
handlers to pass back itemstacks. This could be used by e.g.
the doors mod to drop door items after a blast.
Since this API is documented in lua_api.txt, a separate PR will
be incoming to update the on_blast() documentation.
end
local def = cid_data[cid]
if def and def.on_blast then
- def.on_blast(vector.new(pos), 1)
+ local node_drops = def.on_blast(vector.new(pos), 1)
+ if node_drops then
+ for _, item in ipairs(node_drops) do
+ add_drop(drops, item)
+ end
+ end
return
end
if def and def.flammable then