Jump to content

Module:Sprite

From Apogea Wiki
Revision as of 19:17, 20 January 2026 by Dane (talk | contribs) (Add Sprite module for stack-aware sprite rendering (via create-page on MediaWiki MCP Server))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:Sprite/doc

local p = {}

function p.getHighestStack(frame)
    local name = frame.args[1]
    if not name then return '' end
    
    for i = 20, 1, -1 do
        local file = mw.title.new('File:' .. name .. i .. '.png')
        if file and file.exists then
            return tostring(i)
        end
    end
    return ''
end

function p.render(frame)
    local name = frame.args[1]
    local size = frame.args[2] or frame.args.size or '32'
    if not name then return '' end
    
    local suffix = p.getHighestStack(frame)
    local filename = name .. suffix .. '.png'
    
    return string.format(
        '<span class="pixel-sprite">[[File:%s|%spx|link=|alt=%s]]</span>',
        filename, size, name
    )
end

return p