Module:Inventory slot: Difference between revisions

No edit summary
No edit summary
 
(11 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 = frame.img or ''
local minecraft = mod == "Minecraft" or mod == "minecraft"
if img ~= '' then
 
if minecraft then
local img = frame.img
img = i18n.filename:gsub( '%$1', name .. '.png' )
if not img then
elseif mod then
if name:match( '%.gif$' ) or name:match( '%.png$' ) then
img = i18n.filename:gsub( '%$1', name .. ' (' .. mod .. ')' )
img = name
elseif name:match( '%.gif$' ) or name:match( '%.png$' ) then
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
img = 'Invicon ' .. name .. '.png'
elseif mod then
img = mod .. ' ' .. name .. '.png'
else
else
-- Fall back to an individual image if the sprite is lacking
img = name
img = i18n.filename:gsub( '%$1', name )
end
end
end
end
Line 447: 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 '',