Bearbeiten von „Modul:GetRecipes“
Aus Eco - Deutsches Wiki
Deine Änderungen werden angezeigt, sobald ein dazu berechtigter Benutzer sie akzeptiert hat. (Hilfe)
Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.
Aktuelle Version | Dein Text | ||
Zeile 2: | Zeile 2: | ||
local p = {} | local p = {} | ||
-- Grabs args from the parent frame | |||
-- Trims and parses the args into a table, then returns the table | |||
function norm() | |||
local origArgs = mw.getCurrentFrame():getParent().args | |||
local args = {} | |||
for k, v in pairs( origArgs ) do | |||
v = mw.text.trim( tostring( v ) ) | |||
if v ~= '' then | |||
args[k] = v | |||
local | |||
end | end | ||
end | end | ||
return args | |||
end | |||
local | -- Main entry point for the Module | ||
function p.main() | |||
local test = '' | |||
-- get args from the Template | |||
local args = norm() | |||
-- assign variables for item, table, and group | |||
local item = args.item | |||
local table = args.table | |||
local group = args.group | |||
-- | -- load list of recipes | ||
if | local completeList = require( "Module:CraftingRecipes" ) | ||
local recipeList = completeList.recipes | |||
local ingredientsList = completeList.ingredients | |||
local productsList = completeList.products | |||
local tableList = completeList.tables | |||
-- initialize a table to store recipes | |||
local recipes = {} | |||
local products = {} | |||
local ingredients = {} | |||
-- load CraftingParser | |||
local parser = require( "Module:CraftingParser" ) | |||
-- priority: item > table > group | |||
if item ~= nil then | |||
if productsList[item] ~= nil then | |||
local built = 1 | |||
for num = 1, #productsList[item] do | |||
if (productsList[item][num] ~= '' and recipeList[productsList[item][num]] ~= nil) then | |||
products[built] = recipeList[productsList[item][num]] | |||
built = built + 1 | |||
end | |||
end | |||
end | |||
if ingredientsList[item] ~= nil then | |||
local built = 1 | |||
for num = 1, #ingredientsList[item] do | |||
if (ingredientsList[item][num] ~= '' and recipeList[ingredientsList[item][num]] ~= nil) then | |||
ingredients[built] = recipeList[ingredientsList[item][num]] | |||
built = built + 1 | |||
end | |||
end | |||
end | |||
return parser.formattedItem( products, ingredients, item ) | |||
elseif table ~= nil then | |||
for num = 1, #tableList[table] do | |||
recipes[num] = recipeList[tableList[table][num]] | |||
end | end | ||
return parser.formattedTable( recipes, table ) | |||
else | |||
return 'Invalid use of parameters, please see [[Template:GetRecipes]].' | |||
end | end | ||
end | end | ||
return p | return p |