La documentation pour ce module peut être créée à Module:RecipeUsage/doc
local p = {}
local cargo = mw.ext.cargo
p.argList = {
'_pageName', 'productCount', 'product', 'alternateRecipe', 'recipeName',
'craftingTime', 'productsPerMinute', 'researchTier',
'ingredient1', 'quantity1', 'ingredient2', 'quantity2', 'ingredient3', 'quantity3',
'ingredient4', 'quantity4', 'ingredient5', 'quantity5', 'ingredient6', 'quantity6',
'ingredient7', 'quantity7', 'ingredient8', 'quantity8', 'ingredient9', 'quantity9',
'ingredient10', 'quantity10'
}
--[[Creates recipe table for given recipes
--]]
local function createTable(recipes)
local tbl = {}
for i, recipe in ipairs(recipes) do
if i == #recipes then
recipe.tableEnd = 1
end
recipe.structure = 'hidden'
tbl[i] = mw.getCurrentFrame():expandTemplate{title='CraftingTable', args=recipe}
end
return table.concat(tbl)
end
p.table = function(frame)
local ingredient = mw.title.getCurrentTitle().text
local fields = table.concat(p.argList, ',')
local args = {
where = '(ingredient1="' .. ingredient .. '" OR ingredient2="' .. ingredient .. '" OR ingredient3="' .. ingredient .. '" OR ingredient4="' .. ingredient .. '" OR ingredient5="' .. ingredient .. '" OR ingredient6="' .. ingredient .. '" OR ingredient7="' .. ingredient .. '" OR ingredient8="' .. ingredient .. '" OR ingredient9="' .. ingredient .. '" OR ingredient10="' .. ingredient .. '")',
orderBy = 'alternateRecipe ASC, product ASC'
}
local recipes = cargo.query('crafting_recipes', fields, args)
return createTable(recipes)
end
return p