aboutsummaryrefslogtreecommitdiff
path: root/circular_saw.lua
diff options
context:
space:
mode:
authorAuke Kok <sofar+github@foo-projects.org>2016-02-13 22:20:12 -0800
committerAuke Kok <sofar+github@foo-projects.org>2016-02-13 22:20:12 -0800
commit2c63648f42ed374ac222f4e1060785ddf23e2cb0 (patch)
tree4ece76adfc35800c3a2e75c7b9e63ab38e6cbb2f /circular_saw.lua
parent4cf2237cc1184b22a666f007f2e0baa354176f85 (diff)
downloadmoreblocks-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.
Diffstat (limited to 'circular_saw.lua')
-rw-r--r--circular_saw.lua6
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