Few minor optimizations

This commit is contained in:
Jean-Patrick Guerrero 2019-02-07 16:08:50 +01:00
parent 3498cf3f86
commit 6e744b44b1

View File

@ -133,7 +133,7 @@ local function apply_recipe_filters(recipes, player)
end end
local function get_filtered_items(player) local function get_filtered_items(player)
local items = {} local items, c = {}, 0
for i = 1, #init_items do for i = 1, #init_items do
local item = init_items[i] local item = init_items[i]
@ -142,7 +142,8 @@ local function get_filtered_items(player)
if recipes then if recipes then
recipes = apply_recipe_filters(recipes, player) recipes = apply_recipe_filters(recipes, player)
if #recipes > 0 then if #recipes > 0 then
items[#items + 1] = item c = c + 1
items[c] = item
end end
end end
end end
@ -152,11 +153,13 @@ end
local function cache_recipes(output) local function cache_recipes(output)
local recipes = mt.get_all_craft_recipes(output) or {} local recipes = mt.get_all_craft_recipes(output) or {}
local c = 0
for i = 1, #craftguide.custom_crafts do for i = 1, #craftguide.custom_crafts do
local custom_craft = craftguide.custom_crafts[i] local custom_craft = craftguide.custom_crafts[i]
if custom_craft.output:match("%S*") == output then if custom_craft.output:match("%S*") == output then
recipes[#recipes + 1] = custom_craft c = c + 1
recipes[c] = custom_craft
end end
end end
@ -499,9 +502,9 @@ local function search(data)
for i = 1, #data.items_raw do for i = 1, #data.items_raw do
local item = data.items_raw[i] local item = data.items_raw[i]
local item_desc = reg_items[item].description:lower() local desc = reg_items[item].description:lower()
if item:find(filter, 1, true) or item_desc:find(filter, 1, true) then if (item .. desc):find(filter, 1, true) then
c = c + 1 c = c + 1
filtered_list[c] = item filtered_list[c] = item
end end
@ -534,13 +537,14 @@ local function item_in_recipe(item, recipe)
end end
local function get_item_usages(item) local function get_item_usages(item)
local usages = {} local usages, c = {}, 0
for _, recipes in pairs(recipes_cache) do for _, recipes in pairs(recipes_cache) do
for i = 1, #recipes do for i = 1, #recipes do
local recipe = recipes[i] local recipe = recipes[i]
if item_in_recipe(item, recipe) then if item_in_recipe(item, recipe) then
usages[#usages + 1] = recipe c = c + 1
usages[c] = recipe
end end
end end
end end
@ -556,14 +560,15 @@ local function get_inv_items(player)
local inv = player:get_inventory() local inv = player:get_inventory()
local main, craft = inv:get_list("main"), inv:get_list("craft") local main, craft = inv:get_list("main"), inv:get_list("craft")
local stacks = table_merge(main, craft) local stacks = table_merge(main, craft)
local inv_items, c = {}, 0
local inv_items = {}
for i = 1, #stacks do for i = 1, #stacks do
local stack = stacks[i] local stack = stacks[i]
if not stack:is_empty() then if not stack:is_empty() then
local name = stack:get_name() local name = stack:get_name()
if reg_items[name] then if reg_items[name] then
inv_items[#inv_items + 1] = name c = c + 1
inv_items[c] = name
end end
end end
end end
@ -880,11 +885,12 @@ if progressive_mode then
return {} return {}
end end
local filtered = {} local filtered, c = {}, 0
for i = 1, #recipes do for i = 1, #recipes do
local recipe = recipes[i] local recipe = recipes[i]
if recipe_in_inv(recipe, discovered) then if recipe_in_inv(recipe, discovered) then
filtered[#filtered + 1] = recipe c = c + 1
filtered[c] = recipe
end end
end end