模块:物品配方

此模块的文档可以在模块:物品配方/doc创建

local p = {}

function p.info(frame)
	local jsdata = mw.loadData("模块:物品配方/data")
	if jsdata[frame.args.name] == nil then return ""
	elseif jsdata[frame.args.name][frame.args.type] == nil then return ""
	else 
		if frame.args.type == "配方" then
			local result = frame.args.name
			for i,v in ipairs(jsdata[frame.args.name][frame.args.type]) do
				if i == 1 then
					if v == 1 then result = result.."="
					else result = result.."x"..v.."=" 
					end
				else
					result = result.."<br>[["..v[1].."]]x"..v[2]
				end
			end
			return result
		elseif frame.args.type == "等级" then
			return jsdata[frame.args.name][frame.args.type]
		else
			result = mw.ustring.gsub(jsdata[frame.args.name][frame.args.type], "#", "&#35;")
			result = mw.ustring.gsub(result, ">", "&#62;")
			result = mw.ustring.gsub(result, "=", "&#61;")
			result = mw.ustring.gsub(result, "<", "&#60;")
			result = mw.ustring.gsub(result, "*", "&#42;")
			result = mw.ustring.gsub(result, "|", "&#124;")
			result = mw.ustring.gsub(result, "\n", "<br>")
			result = mw.ustring.gsub(result, " ", "&nbsp;")
			return result
		end
	end
end

function p.upper(frame)
	local jsdata = mw.loadData("模块:物品配方/data")
	local result = ""
	local flag = true
	for key, value in pairs(jsdata) do
		for i, v in ipairs(value["配方"]) do
			if i ~= 1 then
				if v[1] == frame.args.name then
					if flag then 
						result = result.."[["..key.."]]"
						flag = false
					else result = result.."、[["..key.."]]"
					end
				end
			end
		end
	end
	return result
end


return p