Pass an item tag into tube.insert_object() handler

for further processing by the handler.

Can be useful for nodes with miltiple inventories, such as 'technic' macines (eg. Alloy Furnance).

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
This commit is contained in:
Slava Zanko 2024-02-27 18:59:26 +01:00
parent 1539f6277a
commit 1beb722392
1 changed files with 3 additions and 1 deletions

View File

@ -359,10 +359,12 @@ luaentity.register_entity("pipeworks:tubed_item", {
if minetest.get_item_group(node.name, "tubedevice_receiver") == 1 then
local leftover
if minetest.registered_nodes[node.name].tube and minetest.registered_nodes[node.name].tube.insert_object then
local item_tag = nil
if pipeworks.enable_item_tags then
item_tag = pipeworks.get_item_tag(stack)
pipeworks.set_item_tag(stack, nil)
end
leftover = minetest.registered_nodes[node.name].tube.insert_object(self.start_pos, node, stack, vel, self.owner)
leftover = minetest.registered_nodes[node.name].tube.insert_object(self.start_pos, node, stack, vel, self.owner, item_tag)
else
leftover = stack
end