- 致编者:请牢记我们的域名wiki.mcbe-dev.net!
- 致编者:欢迎加入本Wiki的官方交流QQ群或Discord服务器!
- 基岩版1.19.31现已发布!(了解更多)
- Inner Core现已支持Xbox模组联机!(了解更多)
- 如果您是第一次来到本Wiki,欢迎注册一个账户
- 点击顶部的“编辑”或“编辑源代码”按钮即可编辑当前页面
- 请知悉:在不登录时也可以编辑和新建页面,但是您当前的IP地址会记录在编辑历史中
Module:Protocol version
来自Minecraft基岩版开发Wiki
local p = {}
-- {{Protocol version}}
function p.protocol_version( f )
local args = f
if f == mw.getCurrentFrame() then
args = require( 'Module:ProcessArgs' ).merge( true )
end
local version = mw.text.trim( args[1] or '' )
-- load the values from the submodule
local version_data = mw.loadData( 'Module:Protocol version/Versions' ).versions[version]
local category = ''
local value
if version_data then
value = version_data.protocol
else
value = '[[Template:Protocol version#未知版本|—]]'
local title = mw.title.getCurrentTitle()
if not args.nocat and title.namespace == 0 and not title.isSubpage then
category = '[[Category:未知协议版本]]'
end
end
return value .. category
end
-- {{Data version}}
function p.data_version( f )
local args = f
if f == mw.getCurrentFrame() then
args = require( 'Module:ProcessArgs' ).merge( true )
end
local version = mw.text.trim( args[1] or '' )
-- load the values from the submodule
local version_data = mw.loadData( 'Module:Protocol version/Versions' ).versions[version]
local category = ''
local value
if version_data then
if version_data.data then
value = version_data.data
else
value = "N/A"
end
else
value = '[[Template:Data version#未知版本|—]]'
local title = mw.title.getCurrentTitle()
if not args.nocat and title.namespace == 0 and not title.isSubpage then
category = '[[Category:未知数据版本]]'
end
end
return value .. category
end
-- Version table ({{Protocol version/table}})
function p.table( f )
local args = f
if f == mw.getCurrentFrame() then
args = require( 'Module:ProcessArgs' ).merge( true )
end
local html = {}
local groups = mw.loadData( 'Module:Protocol version/Versions' ).groups
for _, group in ipairs(groups) do
local include = true
if #args ~= 0 then
include = nil
for __, name in ipairs(args) do
if name == group.name then
include = true
break
end
end
end
if include then
table.insert( html, "=== [[" .. group.link .. '|' .. group.name .. "]] ===\n" )
if group.desc ~= nil then
table.insert( html, group.desc .. '\n')
end
table.insert( html, "<table class='wikitable sortable jquery-tablesorter'>\n" )
table.insert( html, '<tr>\n' )
table.insert( html, '<th>版本</th>\n' )
table.insert( html, '<th>协议版本</th>\n' )
if group.has_data_versions then
table.insert( html, '<th>数据版本</th>\n' )
end
table.insert( html, '</tr>\n' )
local num_same_protocol
local last_protocol = -1
local protocol_row
for __, version in ipairs(group.values) do
table.insert( html, '<tr>' )
table.insert( html, '<td>[[' .. version.name .. ']]</td>' )
if version.protocol ~= last_protocol or version.force_split then
last_protocol = version.protocol
num_same_protocol = 1
table.insert( html, '<td>' .. version.protocol .. '</td>' )
protocol_row = #html
else
num_same_protocol = num_same_protocol + 1
html[protocol_row] = '<td rowspan="' .. num_same_protocol .. '">' .. version.protocol .. '</td>'
end
if group.has_data_versions then
if version.data then
table.insert( html, '<td>' .. version.data .. '</td>' )
else
table.insert( html, '<td>—</td>' )
end
end
table.insert( html, '</tr>' )
end
table.insert( html, '</table>\n' )
end
end
return table.concat( html )
end
return p