aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCalinou <Calinou@users.noreply.github.com>2015-06-06 11:54:21 +0200
committerCalinou <Calinou@users.noreply.github.com>2015-06-06 11:54:21 +0200
commit37086f47df76fe59f87f2ddb35ab2546ff8bcf1c (patch)
treeab3115d60d62ed200deab2ea4092b94467d7d022
parent1fc2fd65f7c7fb0e64fd09cdc10ccb9a6d30abde (diff)
parent7bd98ac02c0dd848e07b4c2202d20c47dc45999b (diff)
downloadmoreblocks-37086f47df76fe59f87f2ddb35ab2546ff8bcf1c.tar.gz
moreblocks-37086f47df76fe59f87f2ddb35ab2546ff8bcf1c.tar.bz2
moreblocks-37086f47df76fe59f87f2ddb35ab2546ff8bcf1c.zip
Merge pull request #2 from kilbith/master
Speed up get_output_inv
-rw-r--r--circular_saw.lua7
1 files changed, 5 insertions, 2 deletions
diff --git a/circular_saw.lua b/circular_saw.lua
index 1140920..eeb62b5 100644
--- a/circular_saw.lua
+++ b/circular_saw.lua
@@ -84,6 +84,8 @@ function circular_saw:get_output_inv(modname, material, amount, max)
if (not max or max < 1 or max > 99) then max = 99 end
local list = {}
+ local pos = #list
+
-- If there is nothing inside, display empty inventory:
if amount < 1 then
return list
@@ -91,8 +93,9 @@ function circular_saw:get_output_inv(modname, material, amount, max)
for i, t in ipairs(circular_saw.names) do
local cost = circular_saw.cost_in_microblocks[i]
- table.insert(list, modname .. ":" .. t[1] .. "_" .. material .. t[2]
- .. " " .. math.min(math.floor(amount/cost), max))
+ pos = pos + 1
+ list[pos] = modname .. ":" .. t[1] .. "_" .. material .. t[2]
+ .. " " .. math.min(math.floor(amount/cost), max)
end
return list
end