Module:ResourceIcon

From Corsair Cove Official Wiki
Revision as of 21:30, 2 August 2026 by Dorce (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This module displays the provided image file for a resource in varying sizes wherever needed.

It uses data from Module:ResourceData and is used by Template:Resource icon.


local p = {}
local rData = mw.loadData("Module:ResourceData")

local sizeMap = {
	xs = 16,
	sm = 32,
	md = 64,
	lg = 96,
	xl = 128,
}

function p.icon(frame)
	local args = frame.args
	local resource = args[1] or args.resource or ""
	local size = args.size or "xs"
	local px = sizeMap[size] or sizeMap.xs

	local entry = rData[resource]
	local filename = entry and entry.icon_file or "T Button SelectionBorder Default.png"

	return string.format(
		"[[File:%s|x%dpx|link=%s|%s]]",
		filename, px, resource, resource
	)
end

return p