diff options
author | Auke Kok <sofar+github@foo-projects.org> | 2016-02-13 22:20:12 -0800 |
---|---|---|
committer | Auke Kok <sofar+github@foo-projects.org> | 2016-02-13 22:20:12 -0800 |
commit | 2c63648f42ed374ac222f4e1060785ddf23e2cb0 (patch) | |
tree | 4ece76adfc35800c3a2e75c7b9e63ab38e6cbb2f | |
parent | 4cf2237cc1184b22a666f007f2e0baa354176f85 (diff) | |
download | moreblocks-2c63648f42ed374ac222f4e1060785ddf23e2cb0.tar.gz moreblocks-2c63648f42ed374ac222f4e1060785ddf23e2cb0.tar.bz2 moreblocks-2c63648f42ed374ac222f4e1060785ddf23e2cb0.zip |
Prevent input stack_max from overflowing
Adds a check to see if recycle stack wouldn't overflow the input stack. If so, then
the items are just put in the recycle slot and they can be taken out again.
-rw-r--r-- | circular_saw.lua | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/circular_saw.lua b/circular_saw.lua index dd945b8..09fbd90 100644 --- a/circular_saw.lua +++ b/circular_saw.lua @@ -283,7 +283,11 @@ function circular_saw.on_metadata_inventory_put( elseif listname == "recycle" then -- Lets look which shape this represents: local cost = circular_saw:get_cost(inv, stackname) - circular_saw:update_inventory(pos, cost * count) + local input_stack = inv:get_stack("input", 1) + -- check if this would not exceed input itemstack max_stacks + if input_stack:get_count() + ((cost * count) / 8) <= input_stack:get_stack_max() then + circular_saw:update_inventory(pos, cost * count) + end end end |