Module:ItemSprite
Documentation for this module may be created at Module:ItemSprite/doc
local p = {}
function p.render(frame)
local args = frame:getParent().args
local itemName = args[1] or args.item or ""
local size = args[2] or args.size or ""
if itemName == "" then
return ""
end
-- Query Cargo for the sprite
local result = mw.ext.cargo.query('Items', 'sprite', {
where = 'name="' .. itemName .. '"',
limit = 1
})
local spriteName = itemName -- fallback to item name
if result and result[1] and result[1].sprite and result[1].sprite ~= "" then
spriteName = result[1].sprite
end
-- Build the sprite call
local spriteCall = '{{Sprite|' .. spriteName
if size and size ~= "" then
spriteCall = spriteCall .. '|' .. size
end
spriteCall = spriteCall .. '|link=' .. itemName .. '}}'
return frame:preprocess(spriteCall)
end
return p