Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement

此模块用来生成游戏版本的链接,主要用于{{Editions}}{{In}}{{Only}}

从其他模块调用时,请使用editions函数;从模板调用时,请使用wrapper函数。

函数接受一个Lua table作为参数。其中,数字索引的值用作版本名称;short索引的值指定是否显示为短名称,默认为显示全名;cat索引的值指定要生成的分类名称,版本名称以$代替,默认为$nocat索引的值指定是否不生成分类,默认为生成。

local p = {}

local fullName = mw.loadData([[Module:Editions/FullName]])
local shortName = mw.loadData([[Module:Editions/ShortName]])

function p.editions(args)
	local editionTable = {}
	local categories = {}
	local isShort = args.short
	local nocat = args.nocat
	local catTemplate = args.cat or '$'
	for _, v in ipairs(args) do
		if v ~= '' then
			local name = fullName[mw.ustring.lower(v)] or v .. '版'
			table.insert(editionTable, table.concat {
				'[[',
				name,
				'|',
				isShort and shortName[name] or name,
				']]'
			})
			if not nocat then
				table.insert(
					categories,
					'[[Category:' .. mw.ustring.gsub(catTemplate, '%$', name) .. ']]'
				)
			end
		end
	end
	return mw.text.listToText(editionTable) .. table.concat(categories)
end

function p.wrapper()
	local args = require([[Module:ProcessArgs]]).merge(true)
	return p.editions(args)
end

return p
Advertisement