Module:Item: Difference between revisions

From Create: Minecraft Mod Wiki
Jump to navigation Jump to search
Create: Minecraft Mod Wiki>Joker876
No edit summary
Create: Minecraft Mod Wiki>Joker876
No edit summary
Line 16: Line 16:
local isMCwiki = args.minecraft or args.mc
local isMCwiki = args.minecraft or args.mc
local item = args[1] or args.item or args.i
local item = args[1] or args.item or args.i
local img = args.image or args.img or item
local alt = args[2] or item
local alt = args[2] or item
local link = args.link or item
local link = args.link or item
Line 27: Line 26:
end
end
if not item then return '<strong><font color="red">Template error in {{Item}}: missing argument #1 (item)</font></strong>' end
if not item then return '<strong><font color="red">Template error in {{Item}}: missing argument #1 (item)</font></strong>' end
local text
local text = {}
local i = 1
if not (args.image or args.img or args['image'..i] or args['img'..i]) then
if nolink then
table.insert(text, table.concat{'[[File:', item, '.png|', imgsize, '|link=]]'})
else
table.insert(text, table.concat{'[[File:', item, '.png|', imgsize, '|link=', link, ']]'})
end
end
while i == 1 and (args.image or args.img) or args['image'..i] or args['img'..i] do
local img = args.image or args['image'..i] or args.img or args['img'..i]
if nolink then
table.insert(text, table.concat{'[[File:', img, '.png|', imgsize, '|link=]]'})
else
table.insert(text, table.concat{'[[File:', img, '.png|', imgsize, '|link=', link, ']]'})
end
end
if nolink then
if nolink then
text = table.concat{
table.insert(text, table.concat{'&nbsp;', alt})
'[[File:', img, '.png|', imgsize, '|link=]]&nbsp;', alt
}
else
else
text = table.concat{
table.insert(text, table.concat{'&nbsp;[[', link, '|<span title="', title, '">', alt, '</span>]]'})
'[[File:', img, '.png|', imgsize, '|link=', link, ']]&nbsp;[[', link, '|<span title="', title, '">', alt, '</span>]]'
}
end
end
return tostring(mw.html.create('span'):wikitext(text))
return tostring(mw.html.create('span'):wikitext(text))

Revision as of 10:16, 6 May 2021

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

local p = {}

function p.item(f)
	local origArgs = f
	if f == mw.getCurrentFrame() then
		origArgs = f:getParent().args
	else
		f = mw.getCurrentFrame()
	end
	local args = {}
	for k,v in pairs(origArgs) do
		if type(k) == "string" then k = k:lower() end
		args[k] = v
	end
	
	local isMCwiki = args.minecraft or args.mc
	local item = args[1] or args.item or args.i
	local alt = args[2] or item
	local link = args.link or item
	local nolink = args.nolink
	local title = item
	local imgsize = args.size or "21px"
	if isMCwiki then
		link = 'w:c:minecraft:'..link
		title = 'Minecraft Wiki: '..title
	end
	if not item then return '<strong><font color="red">Template error in {{Item}}: missing argument #1 (item)</font></strong>' end
	local text = {}
	local i = 1
	if not (args.image or args.img or args['image'..i] or args['img'..i]) then 
		if nolink then
			table.insert(text, table.concat{'[[File:', item, '.png|', imgsize, '|link=]]'})
		else
			table.insert(text, table.concat{'[[File:', item, '.png|', imgsize, '|link=', link, ']]'})
		end
	end
	while i == 1 and (args.image or args.img) or args['image'..i] or args['img'..i] do
		local img = args.image or args['image'..i] or args.img or args['img'..i]
		if nolink then
			table.insert(text, table.concat{'[[File:', img, '.png|', imgsize, '|link=]]'})
		else
			table.insert(text, table.concat{'[[File:', img, '.png|', imgsize, '|link=', link, ']]'})
		end
	end
	if nolink then
		table.insert(text, table.concat{'&nbsp;', alt})
	else
		table.insert(text, table.concat{'&nbsp;[[', link, '|<span title="', title, '">', alt, '</span>]]'})
	end
	return tostring(mw.html.create('span'):wikitext(text))
end

return p