欢迎大家来到沙石镇时光中文维基!本站编辑权限开放,欢迎加入中文维基 QQ 群「沙海时光」:372816689
目前正在进行全站数据更新,期间可能会存在显示异常的问题。

全站通知:

模块:ItemName

来自沙石镇时光维基
跳到导航 跳到搜索

注意

英语维基下同名模块对应的是模块:ItemId English Full,使用时需要稍加注意。


local Helper = require("Module:Helper")
local ItemId = Helper.LazyLoad("Module:ItemId")
local ItemIdEnglish = Helper.LazyLoad("Module:ItemId_English")
local ItemIdEnglishFull = Helper.LazyLoad("Module:ItemId_English_Full")
local p = {}
p.getId = function(name)
    if name == nil or name == "" then
        name = mw.getCurrentFrame():getParent():getTitle()
    end

    name, _ = name:gsub("&#(%d+);", function(n)
        return string.char(n)
    end)

    local id = ItemIdEnglish[name:lower()]

    if (id) then
    else
        return "未知"
    end

    return id
end

p.containsChinese = function(name)
    if string.match(name, "[\u4E00-\u9FFF]") then
        return false
    else
        return true
    end
end

p.getChineseName = function(frame)
	local name = frame.args[1]
	
	if p.containsChinese(name) then
		return name
	end
	
	local id = p.getId(name)
	
	if not id then
        return "未知"
	end

	for chineseName, itemId in pairs(ItemId) do
        if itemId == id then
            return chineseName
        end
    end
    
    return "未知"
end

p.english = function(frame)
	local id = tonumber(frame.args[1])
	
	if not id then
		return nil
	end

    return ItemIdEnglishFull[id]
end

return p