Last active
April 10, 2017 00:28
-
-
Save VanessaE/4128d7661171073a2b2955c230b7eca4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
commit cf97f02434af2d6342b3e11156d089f40a7a2460 | |
Author: Vanessa Ezekowitz <vanessaezekowitz@gmail.com> | |
Date: Sun Apr 9 15:05:44 2017 -0400 | |
only reject part of itemtack from chest, 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) | |
diff --git a/compat.lua b/compat.lua | |
index 9c956e6..c0e5e8c 100644 | |
--- a/compat.lua | |
+++ b/compat.lua | |
@@ -26,12 +26,13 @@ minetest.override_item("default:furnace", { | |
end | |
end, | |
can_insert = function(pos,node,stack,direction) | |
+ local onestack = stack:peek_item(1) | |
local meta = minetest.get_meta(pos) | |
local inv = meta:get_inventory() | |
if direction.y == 1 then | |
- return inv:room_for_item("fuel", stack) | |
+ return inv:room_for_item("fuel", onestack) | |
else | |
- return inv:room_for_item("src", stack) | |
+ return inv:room_for_item("src", onestack) | |
end | |
end, | |
input_inventory = "dst", | |
@@ -77,10 +78,11 @@ minetest.override_item("default:furnace_active", { | |
can_insert = function(pos, node, stack, direction) | |
local meta = minetest.get_meta(pos) | |
local inv = meta:get_inventory() | |
+ local onestack = stack:peek_item(1) | |
if direction.y == 1 then | |
- return inv:room_for_item("fuel", stack) | |
+ return inv:room_for_item("fuel", onestack) | |
else | |
- return inv:room_for_item("src", stack) | |
+ return inv:room_for_item("src", onestack) | |
end | |
end, | |
input_inventory = "dst", | |
@@ -109,7 +111,8 @@ minetest.override_item("default:chest", { | |
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, back = 1, front = 1, bottom = 1, top = 1} | |
@@ -137,7 +140,8 @@ minetest.override_item("default:chest_locked", { | |
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, | |
connect_sides = {left = 1, right = 1, back = 1, front = 1, bottom = 1, top = 1} | |
}, |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment