Модуль:Entity Tags
Материал из Space Station 14 Вики
Для документации этого модуля может быть создана страница Модуль:Entity Tags/doc
-- Загрузка данных
local tagsData = mw.loadData("Модуль:IanComradeBot/prototypes/entity tags.json/data")
local p = {}
-- Поиск по ID
local function searchByID(searchID)
for _, entry in ipairs(tagsData) do
if entry.id == searchID then
if entry.Tag and entry.Tag.tags and #entry.Tag.tags > 0 then
return table.concat(entry.Tag.tags, ", ")
else
return "Нет тегов"
end
end
end
return "ID не найден"
end
-- Поиск по тегу
local function searchByTag(searchTag)
local results = {}
for _, entry in ipairs(tagsData) do
if entry.Tag and entry.Tag.tags then
for _, tag in ipairs(entry.Tag.tags) do
if tag == searchTag then
table.insert(results, entry.id)
break
end
end
end
end
return #results > 0 and table.concat(results, ", ") or "Тег не найден"
end
-- Основная функция модуля
function p.main(frame)
local args = frame.args
local mode = args[1] or ""
local searchVal = args[2] or ""
if mode == "id" then
return searchByID(searchVal)
elseif mode == "tag" then
return searchByTag(searchVal)
else
return "Неверный режим. Используйте 'id' или 'tag'."
end
end
return p