Add overridable function for handling dropped items from nodes
parent
b6c12d2aa3
commit
d53a6cd851
|
@ -260,6 +260,16 @@ function minetest.node_punch(pos, node, puncher)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function minetest.handle_node_drops(pos, drops, digger)
|
||||||
|
-- Add dropped items to object's inventory
|
||||||
|
if digger:get_inventory() then
|
||||||
|
local _, dropped_item
|
||||||
|
for _, dropped_item in ipairs(drops) do
|
||||||
|
digger:get_inventory():add_item("main", dropped_item)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function minetest.node_dig(pos, node, digger)
|
function minetest.node_dig(pos, node, digger)
|
||||||
minetest.debug("node_dig")
|
minetest.debug("node_dig")
|
||||||
|
|
||||||
|
@ -284,14 +294,9 @@ function minetest.node_dig(pos, node, digger)
|
||||||
local dp = minetest.get_dig_params(def.groups, tp)
|
local dp = minetest.get_dig_params(def.groups, tp)
|
||||||
wielded:add_wear(dp.wear)
|
wielded:add_wear(dp.wear)
|
||||||
digger:set_wielded_item(wielded)
|
digger:set_wielded_item(wielded)
|
||||||
|
|
||||||
-- Add dropped items to object's inventory
|
-- Handle drops
|
||||||
if digger:get_inventory() then
|
minetest.handle_node_drops(pos, drops, digger)
|
||||||
local _, dropped_item
|
|
||||||
for _, dropped_item in ipairs(drops) do
|
|
||||||
digger:get_inventory():add_item("main", dropped_item)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local oldmetadata = nil
|
local oldmetadata = nil
|
||||||
if def.after_dig_node then
|
if def.after_dig_node then
|
||||||
|
|
|
@ -891,6 +891,12 @@ minetest.get_craft_recipe(output) -> input
|
||||||
^ input.items = for example { stack 1, stack 2, stack 3, stack 4,
|
^ input.items = for example { stack 1, stack 2, stack 3, stack 4,
|
||||||
stack 5, stack 6, stack 7, stack 8, stack 9 }
|
stack 5, stack 6, stack 7, stack 8, stack 9 }
|
||||||
^ input.items = nil if no recipe found
|
^ input.items = nil if no recipe found
|
||||||
|
minetest.handle_node_drops(pos, drops, digger)
|
||||||
|
^ drops: list of itemstrings
|
||||||
|
^ Handles drops from nodes after digging: Default action is to put them into
|
||||||
|
digger's inventory
|
||||||
|
^ Can be overridden to get different functionality (eg. dropping items on
|
||||||
|
ground)
|
||||||
|
|
||||||
Rollbacks:
|
Rollbacks:
|
||||||
minetest.rollback_get_last_node_actor(p, range, seconds) -> actor, p, seconds
|
minetest.rollback_get_last_node_actor(p, range, seconds) -> actor, p, seconds
|
||||||
|
|
Loading…
Reference in New Issue