diff options
| author | Vanessa Ezekowitz <vanessaezekowitz@gmail.com> | 2017-04-09 17:16:25 -0400 | 
|---|---|---|
| committer | Vanessa Ezekowitz <vanessaezekowitz@gmail.com> | 2017-04-09 20:35:11 -0400 | 
| commit | af39221df9d2436cffedaca25365ae55489d6e48 (patch) | |
| tree | 75bf8cd6f53a00008215b6a210dc9985ada450cc | |
| parent | 72c536c04eb98aae29e983acd761bc94d7d26ca9 (diff) | |
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)
| -rw-r--r-- | technic/machines/MV/tool_workshop.lua | 3 | ||||
| -rw-r--r-- | technic/machines/other/injector.lua | 5 | ||||
| -rw-r--r-- | technic/machines/register/battery_box.lua | 5 | ||||
| -rw-r--r-- | technic/machines/register/generator.lua | 3 | ||||
| -rw-r--r-- | technic/machines/register/machine_base.lua | 3 | ||||
| -rw-r--r-- | technic_chests/common.lua | 3 | 
6 files changed, 14 insertions, 8 deletions
| diff --git a/technic/machines/MV/tool_workshop.lua b/technic/machines/MV/tool_workshop.lua index 4076cc1..9219717 100644 --- a/technic/machines/MV/tool_workshop.lua +++ b/technic/machines/MV/tool_workshop.lua @@ -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) diff --git a/technic/machines/other/injector.lua b/technic/machines/other/injector.lua index 7dc5d0c..f803a25 100644 --- a/technic/machines/other/injector.lua +++ b/technic/machines/other/injector.lua @@ -69,10 +69,11 @@ minetest.register_node("technic:injector", {  	groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, tubedevice=1, tubedevice_receiver=1},  	tube = {  		can_insert = function(pos, node, stack, direction) -			return minetest.get_meta(pos):get_inventory():room_for_item("main",stack) +			local onestack = stack:peek_item(1) +			return minetest.get_meta(pos):get_inventory():room_for_item("main", onestack)  		end,  		insert_object = function(pos, node, stack, direction) -			return minetest.get_meta(pos):get_inventory():add_item("main",stack) +			return minetest.get_meta(pos):get_inventory():add_item("main", stack)  		end,  		connect_sides = {left=1, right=1, front=1, back=1, top=1, bottom=1},  	}, diff --git a/technic/machines/register/battery_box.lua b/technic/machines/register/battery_box.lua index 83bedf2..2a45b13 100644 --- a/technic/machines/register/battery_box.lua +++ b/technic/machines/register/battery_box.lua @@ -50,10 +50,11 @@ local tube = {  		end  		local meta = minetest.get_meta(pos)  		local inv = meta:get_inventory() +		local onestack = stack:peek_item(1)  		if direction.y > 0 then -			return inv:room_for_item("src", stack) +			return inv:room_for_item("src", onestack)  		else -			return inv:room_for_item("dst", stack) +			return inv:room_for_item("dst", onestack)  		end  	end,  	connect_sides = {left=1, right=1, back=1, top=1, bottom=1}, diff --git a/technic/machines/register/generator.lua b/technic/machines/register/generator.lua index 2cdc336..f3ada1f 100644 --- a/technic/machines/register/generator.lua +++ b/technic/machines/register/generator.lua @@ -9,7 +9,8 @@ local tube = {  	can_insert = function(pos, node, stack, direction)  		local meta = minetest.get_meta(pos)  		local inv = meta:get_inventory() -		return inv:room_for_item("src", stack) +		local onestack = stack:peek_item(1) +		return inv:room_for_item("src", onestack)  	end,  	connect_sides = {left=1, right=1, back=1, top=1, bottom=1},  } diff --git a/technic/machines/register/machine_base.lua b/technic/machines/register/machine_base.lua index 8cf851b..d479773 100644 --- a/technic/machines/register/machine_base.lua +++ b/technic/machines/register/machine_base.lua @@ -10,7 +10,8 @@ local tube = {  	can_insert = function(pos, node, stack, direction)  		local meta = minetest.get_meta(pos)  		local inv = meta:get_inventory() -		return inv:room_for_item("src", stack) +		local onestack = stack:peek_item(1) +		return inv:room_for_item("src", onestack)  	end,  	connect_sides = {left = 1, right = 1, back = 1, top = 1, bottom = 1},  } diff --git a/technic_chests/common.lua b/technic_chests/common.lua index 32b34eb..1241c5e 100644 --- a/technic_chests/common.lua +++ b/technic_chests/common.lua @@ -13,7 +13,8 @@ technic.chests.tube = {  	can_insert = function(pos, node, stack, direction)  		local meta = minetest.get_meta(pos)  		local inv = meta:get_inventory() -		return inv:room_for_item("main",stack) +		local onestack = stack:peek_item(1) +		return inv:room_for_item("main", onestack)  	end,  	input_inventory = "main",  	connect_sides = {left=1, right=1, front=1, back=1, top=1, bottom=1}, | 
