Модуль:RecipeUtils: различия между версиями
Материал из Eco - Русская Wiki
| [досмотренная версия] | [досмотренная версия] |
StalEF (обсуждение | вклад) Нет описания правки |
StalEF (обсуждение | вклад) Нет описания правки |
||
| Строка 45: | Строка 45: | ||
if (RecipeList ~= "") then | if (RecipeList ~= "") then | ||
CraftTable = CraftTable .. "<table><tr><th> | CraftTable = CraftTable .. "<table><tr><th>Products</th><th>Ingredients</th></tr>"; | ||
for RecipeName in string.gmatch(RecipeList, "([^,]+)") do | for RecipeName in string.gmatch(RecipeList, "([^,]+)") do | ||
local CraftTableRow = " | local CraftTableRow = ""; | ||
local RecipeData = RecipesData.recipes[RecipeName]; | local RecipeData = RecipesData.recipes[RecipeName]; | ||
CraftTableRow = "<td>" .. RecipeName .. "</td>"; | |||
local RecipeProducts = ""; | |||
for ProductName,ProductData in pairs(RecipeData.Products) do | for ProductName,ProductData in pairs(RecipeData.Products) do | ||
RecipeProducts = RecipeProducts .. ProductName .. ","; | |||
end | end | ||
CraftTable = CraftTable .. CraftTableRow .. "</tr>"; | CraftTableRow = CraftTableRow .. "<td>" .. RecipeProducts .. "</td>"; | ||
local RecipeIngredients = ""; | |||
for IngredientName,IngredientData in pairs(RecipeData.Ingredients) do | |||
RecipeIngredients = RecipeIngredients .. IngredientName .. ","; | |||
end | |||
CraftTableRow = CraftTableRow .. "<td>" .. RecipeIngredients .. "</td>"; | |||
CraftTable = CraftTable .. "<tr>" ..CraftTableRow .. "</tr>"; | |||
end | end | ||
CraftTable = CraftTable .. "</table>"; | CraftTable = CraftTable .. "</table>"; | ||
Версия от 20:52, 19 августа 2025
Для документации этого модуля может быть создана страница Модуль:RecipeUtils/doc
local Utils = require('Module:Utils')
local RecipesData = require('Module:RecipeData')
local ItemsData = require('Module:ItemData')
local p = {}
function p.ItemCraft(ItemName)
local Recipes = ""
for RecipeName,RecipeData in pairs(RecipesData.recipes) do
for ProductName,ProductData in pairs(RecipeData.Products) do
if ProductName == ItemName and ProductData.Type == "ITEM" then
if (Recipes == "") then Recipes = Recipes .. RecipeName else Recipes = Recipes .. "," .. RecipeName end
end
end
end
return Recipes
end
function p.TagIngredient(TagName)
local Recipes = ""
for RecipeName,RecipeData in pairs(RecipesData.recipes) do
for IngredientName,IngredientData in pairs(RecipeData.Ingredients) do
if IngredientName == TagName and IngredientData.Type == "TAG" then
if (Recipes == "") then Recipes = Recipes .. RecipeName else Recipes = Recipes .. "," .. RecipeName end
end
end
end
return Recipes
end
function p.ItemIngredient(ItemName)
local Recipes = ""
for RecipeName,RecipeData in pairs(RecipesData.recipes) do
for IngredientName,IngredientData in pairs(RecipeData.Ingredients) do
if IngredientName == ItemName and IngredientData.Type == "ITEM" then
if (Recipes == "") then Recipes = Recipes .. RecipeName else Recipes = Recipes .. "," .. RecipeName end
end
end
end
return Recipes
end
function p.CraftTable(RecipeList)
local CraftTable = ""
if (RecipeList ~= "") then
CraftTable = CraftTable .. "<table><tr><th>Products</th><th>Ingredients</th></tr>";
for RecipeName in string.gmatch(RecipeList, "([^,]+)") do
local CraftTableRow = "";
local RecipeData = RecipesData.recipes[RecipeName];
CraftTableRow = "<td>" .. RecipeName .. "</td>";
local RecipeProducts = "";
for ProductName,ProductData in pairs(RecipeData.Products) do
RecipeProducts = RecipeProducts .. ProductName .. ",";
end
CraftTableRow = CraftTableRow .. "<td>" .. RecipeProducts .. "</td>";
local RecipeIngredients = "";
for IngredientName,IngredientData in pairs(RecipeData.Ingredients) do
RecipeIngredients = RecipeIngredients .. IngredientName .. ",";
end
CraftTableRow = CraftTableRow .. "<td>" .. RecipeIngredients .. "</td>";
CraftTable = CraftTable .. "<tr>" ..CraftTableRow .. "</tr>";
end
CraftTable = CraftTable .. "</table>";
end
return CraftTable
end
return p