Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:PlayerHead: Difference between revisions

From Vault Hunters Official Wiki
No edit summary
Tag: Reverted
No edit summary
Tag: Reverted
Line 4: Line 4:
     local args = frame:getParent().args
     local args = frame:getParent().args
     local name = mw.text.trim(args[1] or "")
     local name = mw.text.trim(args[1] or "")
     local size = tonumber(args[2]) or 64
     local size = args[2] or "64px"
     local title = mw.text.trim(args[3] or "")
     local title = mw.text.trim(args[3] or "")
     local overlay = mw.text.trim(args["overlay"] or "yes")
     local overlay = mw.text.trim(args["overlay"] or "yes")


     if name == "" then
     if name == "" then
         return "Error: No player name provided."
         return "''Error: No player name provided.''"
     end
     end


    -- Construct the image URL
     local url = string.format("https://mc-heads.net/avatar/%s", name)
     local base = "https://mc-heads.net/avatar/"
    local url = string.format("%s%s/%d", base, name, size)
     if overlay == "no" then
     if overlay == "no" then
         url = url .. ".png?overlay=false"
         url = url .. ".png?overlay=false"
     end
     end


     -- Build the <img> tag
     -- Use an <img> style via wikitext with an external image
     local img = mw.html.create("img")
     local wikitext = string.format(
         :addClass("mc-player-head")
         '[[File:%s|%s|class=mc-player-head%s]]',
         :attr("src", url)
         url,
         :attr("width", size)
         size,
         :attr("height", size)
         title ~= "" and "|alt=" .. title .. "|title=" .. title or "|alt="
    )


     if title ~= "" then
     return frame:preprocess(wikitext)
        img:attr("title", title)
        img:attr("alt", title)
    else
        img:attr("alt", "")
    end
 
return frame:extensionTag('span', tostring(img))
end
end


return p
return p

Revision as of 17:54, 6 July 2025

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

local p = {}

function p.render(frame)
    local args = frame:getParent().args
    local name = mw.text.trim(args[1] or "")
    local size = args[2] or "64px"
    local title = mw.text.trim(args[3] or "")
    local overlay = mw.text.trim(args["overlay"] or "yes")

    if name == "" then
        return "''Error: No player name provided.''"
    end

    local url = string.format("https://mc-heads.net/avatar/%s", name)
    if overlay == "no" then
        url = url .. ".png?overlay=false"
    end

    -- Use an <img> style via wikitext with an external image
    local wikitext = string.format(
        '[[File:%s|%s|class=mc-player-head%s]]',
        url,
        size,
        title ~= "" and "|alt=" .. title .. "|title=" .. title or "|alt="
    )

    return frame:preprocess(wikitext)
end

return p