Module:Inventory slot: Difference between revisions

No edit summary
No edit summary
 
(15 intermediate revisions by the same user not shown)
Line 2: Line 2:


local i18n = {
local i18n = {
filename = 'Invicon $1',
modLink = '$1:$2',
modLink = '$1:$2',
moduleAliases = [[Module:Inventory slot/Aliases]],
moduleAliases = [[Module:Inventory slot/Aliases]],
Line 102: Line 101:
local description = frame.text
local description = frame.text
local mod = ''
local mod = frame.mod or 'Minecraft'
local name = ''
local name = frame.name
local separator = string.find(frame.name, ":")
 
if frame.name:match( '%.gif$' ) and frame.name:match( '%.png$' ) then
if separator then
mod = string.sub(frame.name, 1, separator)
name = string.sub(separator + 1)
else
name = frame.name
name = frame.name
mod = "Minecraft"
mod = ''
end
end
local minecraft = mod ~= "Minecraft" or mod ~= "minecraft" or ""


local img
local minecraft = mod == "Minecraft" or mod == "minecraft"
if minecraft then
 
img = "https://minecraft.wiki/images/Invicon_" .. name .. ".png"
local img = frame.img
elseif mod then
if not img then
img = i18n.filename:gsub( '%$1', name .. ' (' .. mod .. ')' )
if name:match( '%.gif$' ) or name:match( '%.png$' ) then
elseif name:match( '%.gif$' ) or name:match( '%.png$' ) then
img = name
img = i18n.filename:gsub( '%$1', name )
-- Remove file extension from name
-- Remove file extension from name
name = name:sub( 0, -5 )
name = name:sub( 0, -5 )
elseif minecraft then
else
img = 'Invicon ' .. name .. '.png'
-- Fall back to an individual image if the sprite is lacking
elseif mod then
img = i18n.filename:gsub( '%$1', name .. '.png' )
img = mod .. ' ' .. name .. '.png'
else
img = name
end
end
end


Line 445: Line 441:
end
end
return string.format(
return string.format(
'[%s]%s:%s,%s[%s]',
'[%s]%s,%s[%s]',
frame.title or '',
frame.title or '',
frame.mod or 'Minecraft',
frame.name,
frame.name,
frame.num or '',
frame.num or '',