Jump to content

Template:Multiblock Slot: Difference between revisions

From Horizon's End Wiki
SherbetS (talk | contribs)
chatgpt simplified version of inventory slot
 
SherbetS (talk | contribs)
accidentally put in wrong namespace
Tag: Blanking
 
Line 1: Line 1:


local p = {}
local aliases = mw.loadData(
    "Module:Inventory slot/Aliases"
)
local function resolveAlias(material)
    local alias = aliases[material]
    if type(alias) == "string" then
        return alias
    end
    if type(alias) == "table" then
        if alias.name then
            return alias.name
        end
        if alias[1] then
            if type(alias[1]) == "string" then
                return alias[1]
            elseif alias[1].name then
                return alias[1].name
            end
        end
    end
    return material
end
function p.render(frame)
    local args = frame.args or frame:getParent().args
    local material = mw.text.trim(args[1] or "")
    local amount = mw.text.trim(args[2] or "")
    if material == "" then
        return ""
    end
    local spriteName = resolveAlias(material)
    local filename = "Invicon " .. spriteName .. ".png"
    local icon = mw.html.create("span")
        :addClass("multiblock-slot")
        :wikitext(
            "[[File:" .. filename ..
            "|32x32px|link=" .. material ..
            "|alt=" .. material .. "]]"
        )
    if tonumber(amount) and tonumber(amount) > 1 then
        icon:tag("span")
            :addClass("multiblock-slot-amount")
            :wikitext(amount)
    end
    return tostring(icon)
end
return p

Latest revision as of 04:33, 1 November 2026