Module:Item

From Ylvapedia

このモジュールはTemplate:ItemTemplate:アイテムに使用されています。


local p = {}

function p.itemparameters(f)
	
	local args = f:getParent().args
	local lang = f.args[2]
	local name = args[1] or f.args[1]
	local namelen = string.len(name)
	local ext = args['ext'] or 'png'
	local size = args['size'] or '32x32px'
	local num = args['x'] or args[2]
	local image = args['img']
	local link = args['link']
	local variety = args['v']
	local id = args['id']
	local data = mw.loadData('Module:Item/IDAliases')
	local result
	local data2
	local data3

	if lang == nil then
		mw.log("error: Language code not specified")
		return "error: Language code not specified"
	end

	if image == nil then
		if id == nil then
			if lang == 'EN' then
				if variety == nil or not variety or variety == '' then
					image = 'Elin Item Sprite ' ..name..'.'..ext
				else
					image = 'Elin Item Sprite ' ..name..' '..variety..'.'..ext
				end
			else
				if lang == 'JA' then
					data2 = mw.loadData('Module:Item/JaAliases') or {}
					data3 = mw.loadData('Module:Item/JaAliases2') or {}
				end

				if variety == nil or not variety or variety == '' then
					result = data[data2[name]] or data3[name]
				else
					result = data[data2[name..variety]] or data3[name..variety]
				end
				if result == nil or not result or result == '' then
					image = 'clear.png'
				else
					image = 'Elin Item Sprite ' ..result..'.'..ext
				end
			end
		else
			if data[id] then
				image = 'Elin Item Sprite ' ..data[id]..'.'..ext
			else
				image = 'clear.png'
			end
		end
	else
		local v = string.find(image,'%.')
		if v then
		else
			image = image..'.'..ext
		end
	end

	local wt = mw.html.create('span'):addClass('item')
		--wt:addClass('item'):cssText('image-rendering: pixelated;')
		if args['grid'] == 'true' or args['grid'] == 'on' or args['grid'] == '1' or args['grid'] == 'Y' then
			wt:cssText('display: inline-grid; text-align: center;')
		else
			if namelen >=36 then
				wt:cssText('font-size: smaller; white-space: pre-wrap;')
			else
				wt:cssText('white-space: nowrap;')
			end
		end

		if link == 'false' or link == 'no' or link == '0' or link == 'N' then
			wt:wikitext(string.format('[[File:%s|%s|link=|alt=%s|class=itemimg]]',image,size,name))
			wt:wikitext(string.format('%s',name))
		else
			if not link or link == '' then
				link =  'Elin:'..name..'|'..name
			else
				link =  link..'|'..name
			end
			wt:wikitext(string.format('[[File:%s|%s|link=%s|alt=%s|class=itemimg]]',image,size,link,name))
			wt:wikitext(string.format('[[%s]]',link))
		end
		
		if not num or num == '' then
		else
			wt:wikitext(string.format('(%s)',num))
		end
		
	return tostring(wt)
end

return p