only reject part of itemtack from chest/machine/etc., if possible

(e.g. if there's room for 50 of some item, and you send a stack of 99,
50 are added to the chest and a stack of 49 is rejected and sent
on to the next destination)
This commit is contained in:
Vanessa Ezekowitz
2017-04-09 17:16:25 -04:00
parent 72c536c04e
commit af39221df9
6 changed files with 14 additions and 8 deletions

View File

@ -103,7 +103,8 @@ minetest.register_node("technic:tool_workshop", {
allow_metadata_inventory_take = technic.machine_inventory_take,
tube = {
can_insert = function (pos, node, stack, direction)
return minetest.get_meta(pos):get_inventory():room_for_item("src", stack)
local onestack = stack:peek_item(1)
return minetest.get_meta(pos):get_inventory():room_for_item("src", onestack)
end,
insert_object = function (pos, node, stack, direction)
return minetest.get_meta(pos):get_inventory():add_item("src", stack)