全站通知:

模块:Item/Data

来自神佑释放WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

此模块的文档可以在模块:Item/Data/doc创建

local p = {}
local Util = require('Module:Util')
local load_json = Util.load_json
local getArgs = require('Module:Arguments').getArgs

function p.item(frame)
	local frame_args = getArgs(frame)
--
--{{#invoke:物品图鉴
--|item
--|id=aaa
--|jj
--}}
--frame_args.id=aaa
--frame_args[1] = jj
	local itemType
	local itemName
	if frame_args['名称'] then
		itemName = frame_args['名称']
		if frame_args['类型'] then
			itemType = frame_args['类型']
		end
	elseif frame_args[1] ~=nil then
		local result = mw.text.split(frame_args[1],':')
		if result[2] ~=nil then
			itemType = result[1]
			itemName = result[2]
		else
			itemName = frame_args[1]
		end
	end
	local html = mw.html.create()
	if itemName ==nil then
		return p.erro(html)
	end
	local data = p.getItem(itemName)
	if data == nil then
		return p.erro(html)
	end
	local itemdiv = html:tag('div'):addClass('item-info'):cssText('width:340px;')
    --if data.type == '装备' then
        itemdiv:tag('div'):cssText('position:absolute;z-index: -2;'):wikitext([[image:Item Background Mythic.png|340px|link=]])
    --end
	itemdiv:tag('h3'):addClass('item-title'):wikitext(itemName)
	local itembody = itemdiv:tag('div'):addClass('item-body')
	itembody:wikitext("[[image:"..itemName..".png|180px|请上传图片『"..itemName.."』大小不超过2M|link=]]")
	if data.quality ~=nil then
        --品质
		itembody:tag('p'):attr('data-type',data.quality):wikitext(data.quality)
	end
	if data.type ~=nil then
        --类别
		itembody:tag('p'):wikitext('<b>类别:</b>'..data.type)
	end
	if data.text ~=nil then
        --描述
		itembody:tag('div'):addClass('txt1'):wikitext(data.text)
	end
	return html
end
function p.erro(html)
    html:tag('div'):addClass('item-info'):tag('h3'):addClass('item-title'):wikitext('参数不正确'):done()
        :tag('div'):addClass('item-body'):wikitext(mw.text.nowiki('例如:{{#Item/Data|下级寒霜巨人的灵魂碎片}}')):done()
	return html
end
function p.getItem(name)
    name = mw.text.trim(name)
    if(string.match(name,"%w*") == name) then
        --英文
        local Data_En_Zh = load_json('Item/Data_En_Zh')
        if Data_En_Zh[name] ~= nil then
            name = Data_En_Zh[name]
        end
    end
	local Data = load_json('Item/Data')
	if(Data[name] ~= nil) then
		return Data[name]
	end
end
return p