Module:Sandbox/Aurelain
From Heroes of Might and Magic: Olden Era Official Wiki
Documentation for this module may be created at Module:Sandbox/Aurelain/doc
local p = {}
-- Cache for data
local dataCache = nil
-- Cache for reverse lookup: id -> unitName
local idIndexCache = nil
-- Function to load JSON data from wiki page
local function loadJson(title)
local page = mw.title.new(title)
local content = page and page:getContent() or ""
if content == "" then return {} end
local ok, data = pcall(mw.text.jsonDecode, content)
if not ok then return {} end
return data
end
-- Load unit data from unitdata_work.json
local function loadUnits()
if dataCache then return dataCache end
dataCache = {}
idIndexCache = {}
local units = loadJson("Data:units.json")
for name, unit in pairs(units) do
dataCache[name] = unit
-- Build reverse index: id -> display name (key in the JSON object)
if unit.id and unit.id ~= "" then
idIndexCache[unit.id] = name
end
end
return dataCache
end
local Unit = require('Module:Unit')
function p.hello(frame)
return Unit.get(frame)
end
return p


