Модуль:Prototypes/Механика/Исследование: различия между версиями

мНет описания правки
Нет описания правки
Строка 5: Строка 5:
-- Загрузка данных из JSON
-- Загрузка данных из JSON
local data = mw.text.jsonDecode(mw.title.new("Участник:IanComradeBot/entity_prototypes.json"):getContent())
local data = mw.text.jsonDecode(mw.title.new("Участник:IanComradeBot/entity_prototypes.json"):getContent())
-- Проверка на наличие исключенных слов в boardID
local excludedWords = {"Unanchored", "Debug", "Admin"}
for _, word in ipairs(excludedWords) do
if boardID:find(word) then
return nil -- Если одно из исключенных слов присутствует, просто пропускаем этот ID
end
end


-- Поиск платы по ID и извлечение её названия
-- Поиск платы по ID и извлечение её названия
local board = data[boardID]
local board = data[boardID]
if not board or not board.name then
if not board or not board.name then
return nil  
return nil -- Если платы нет в данных, возвращаем nil
end
end


-- Проверка наличия "(машинная плата)" или "(консольная плата)" в имени
-- Проверка наличия "(машинная плата)" или "(консольная плата)" в имени
if not board.name:find("%(машинная плата%)") and not board.name:find("%(консольная плата%)") then
if not board.name:find("%(машинная плата%)") and not board.name:find("%(консольная плата%)") then
return nil  
return nil -- Если в имени нет одной из фраз, возвращаем nil
end
 
-- Проверка на наличие исключенных слов в boardID
local excludedWords = {"Unanchored", "Debug", "Admin"}
for _, word in ipairs(excludedWords) do
if boardID:find(word) then
return nil
end
end
end


Строка 86: Строка 86:
-- Проверка каждого ID в recipeUnlocks
-- Проверка каждого ID в recipeUnlocks
for _, recipe in ipairs(tech.recipeUnlocks) do
for _, recipe in ipairs(tech.recipeUnlocks) do
local machineID = translateBoardIDToMachineID(recipe) or recipe  -- Переводим только платы, остальные оставляем как есть
local machineID = translateBoardIDToMachineID(recipe) -- Переводим только платы


out = out .. frame:preprocess('<li>{{#invoke:Entity Lookup|createimagetooltip|Файл:' .. machineID .. '.png|' .. machineID .. '|Мета=32x32px,link=}} {{#invoke:Entity Lookup|getname|' .. machineID .. '}}</li>')
-- Добавляем ID машины, если он найден
if machineID then
out = out .. frame:preprocess('<li>{{#invoke:Entity Lookup|createimagetooltip|Файл:' .. machineID .. '.png|' .. machineID .. '|Мета=32x32px,link=}} {{#invoke:Entity Lookup|getname|' .. machineID .. '}}</li>')
end
end
end