Модуль:Песочница/Pok
Материал из Space Station 14 Вики
Для документации этого модуля может быть создана страница Модуль:Песочница/Pok/doc
local p = {}
local cachedData = nil
local function loadData(filePath)
if cachedData then
return cachedData
end
local page = mw.title.new(filePath)
local content = page and page:getContent()
cachedData = content and mw.text.jsonDecode(content) or nil
return cachedData
end
local function getSpritePath(entry)
return entry.Sprite and entry.Sprite.sprite or (entry.Icon and entry.Icon.sprite)
end
function p.main(frame)
local param = frame.args[1]
local secondaryParam = frame.args[2]
local data = loadData('User:IanComradeBot/prototypes/entity sprite.json')
if not data or type(data) ~= 'table' then
return 'Ошибка: Невозможно загрузить данные из JSON.'
end
if param == "image" and secondaryParam then
for _, entry in ipairs(data) do
if entry.id == secondaryParam then
return getSpritePath(entry) or "Ошибка: Спрайт не найден."
end
end
return "Ошибка: ID не найден."
end
end
return p