diff options
author | kilbith <jeanpatrick.guerrero@gmail.com> | 2015-06-06 11:38:26 +0200 |
---|---|---|
committer | kilbith <jeanpatrick.guerrero@gmail.com> | 2015-06-06 11:38:26 +0200 |
commit | 7bd98ac02c0dd848e07b4c2202d20c47dc45999b (patch) | |
tree | ab3115d60d62ed200deab2ea4092b94467d7d022 | |
parent | 6491d0be42e0d98afb1734732c7e2bd101156a8f (diff) |
Speedup get_output_inv
-rw-r--r-- | circular_saw.lua | 7 |
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 |