Модуль:Meals Lookup: различия между версиями
Mhamster (обсуждение | вклад) Нет описания правки |
Mhamster (обсуждение | вклад) Нет описания правки |
||
| Строка 5: | Строка 5: | ||
p.meals = prototypes.meals | p.meals = prototypes.meals | ||
--#region universal | |||
function getrecipesfromtype(frame, type) -- | function getrecipesfromtype(frame, type) -- should not be invoked | ||
return p.meals[type] | return p.meals[type] | ||
end | end | ||
| Строка 14: | Строка 14: | ||
end | end | ||
function getrecipetypes(frame, id) -- should not be invoked | |||
local out = {} | |||
for type, recipes in pairs(p.meals) do | |||
for recipeId, recipe in pairs(recipes) do | |||
if (recipeId:gsub(' ', '') == id:gsub(' ', '')) or (recipe["id"]:gsub(' ', '') == id:gsub(' ', '')) then | |||
table.insert(out, type) | |||
break | |||
end | |||
end | |||
end | |||
return out | |||
end | |||
--#endregion | |||
--#region microwaveRecipes | |||
function getmicrowaverecipesolids(frame, recipe) -- should not be invoked | function getmicrowaverecipesolids(frame, recipe) -- should not be invoked | ||
local out = {} | local out = {} | ||
| Строка 38: | Строка 53: | ||
end | end | ||
function | function buildreagents(frame, array) -- should not be invoked | ||
local out = "" | local out = "" | ||
for item, amount in pairs(array) do | for item, amount in pairs(array) do | ||
| Строка 47: | Строка 62: | ||
end | end | ||
function p.buildmicrowaverecipebox(frame) | function p.buildmicrowaverecipebox(frame) -- {{#invoke:Meals Lookup|buildmicrowaverecipebox|MicrowaveRecipeID}} | ||
local out = " | local out = "" | ||
local id = frame.args[1]:gsub(' ', '') | local id = frame.args[1]:gsub(' ', '') | ||
local recipe = getrecipe(frame, "microwaveRecipes", id) | local recipe = getrecipe(frame, "microwaveRecipes", id) | ||
local solids = buildsolids(frame, getmicrowaverecipesolids(frame, recipe)) | local solids = buildsolids(frame, getmicrowaverecipesolids(frame, recipe)) | ||
local reagents = | local reagents = buildreagents(frame, getmicrowaverecipereagents(frame, recipe)) | ||
out = frame:preprocess("{{Recipe Box".. | out = frame:preprocess("{{Recipe Box".. | ||
"|name={{#invoke:Entity Lookup|getname|".. recipe["result"] .."}}".. | "|name={{#invoke:Entity Lookup|getname|".. recipe["result"] .."}}".. | ||
| Строка 61: | Строка 76: | ||
return out | return out | ||
end | end | ||
--#endregion microwaveRecipes | |||
--#region sliceableRecipes | |||
function p.buildmslicerecipebox(frame) -- {{#invoke:Meals Lookup|buildmslicerecipebox|SliceableRecipeID}} | |||
function p. | local out = "" | ||
local out = | local id = frame.args[1]:gsub(' ', '') | ||
local recipe = getrecipe(frame, "sliceableRecipes", id) | |||
out = frame:preprocess("{{Recipe Box".. | |||
"|name={{#invoke:Entity Lookup|getname|".. recipe["result"] .."}}".. | |||
"|component-1="..frame:preprocess("{{Recipe Component|item={{#invoke:Entity Lookup|getname|".. recipe["input"] .."}}|image=Файл:Mousegif.gif}}" ) .. | |||
"|transformer={{Recipe Transformers|sliceableRecipes}}".. | |||
"|result=".. frame:preprocess("{{Recipe Component|item={{#invoke:Entity Lookup|getname|".. recipe["result"] .."}}|image=Файл:Mousegif.gif|amount="..recipe["count"].."}}" ) .. | |||
"}}") | |||
return out | return out | ||
end | end | ||
--#endregion sliceableRecipes | |||
-- tests. | -- tests. | ||
function p.tests(frame) | function p.tests(frame) | ||
local out = "" | local out = "" | ||
out = out .. "\n" .. frame:preprocess("{{#invoke:Meals Lookup|buildmicrowaverecipebox|".. frame.args[1] .. "}}") | out = out .. "\n" .. frame:preprocess("{{#invoke:Meals Lookup|buildmicrowaverecipebox|".. frame.args[1] .. "}}") | ||
out = out .. "\n" .. frame:preprocess("{{#invoke:Meals Lookup|buildmslicerecipebox|".. frame.args[2] .. "}}") | |||
-- out = out .. p.buildmicrowaverecipebox(frame, frame.args[1]) | -- out = out .. p.buildmicrowaverecipebox(frame, frame.args[1]) | ||
return out | return out | ||