全站通知:
模块:Item/Data
刷
历
编
跳到导航
跳到搜索
此模块的文档可以在模块: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