diff options
author | Calinou <Calinou@users.noreply.github.com> | 2015-06-06 11:54:21 +0200 |
---|---|---|
committer | Calinou <Calinou@users.noreply.github.com> | 2015-06-06 11:54:21 +0200 |
commit | 37086f47df76fe59f87f2ddb35ab2546ff8bcf1c (patch) | |
tree | ab3115d60d62ed200deab2ea4092b94467d7d022 | |
parent | 1fc2fd65f7c7fb0e64fd09cdc10ccb9a6d30abde (diff) | |
parent | 7bd98ac02c0dd848e07b4c2202d20c47dc45999b (diff) | |
download | moreblocks-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.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 |