Minecraft Wiki

Das Minecraft-Wiki wird von Microsoft nicht mehr als offiziell angesehen, weshalb einige Änderungen vorgenommen werden müssen, unter anderem am Logo des Wikis. Bitte lese diese Ankündigung für mehr Informationen.

MEHR ERFAHREN

Minecraft Wiki
Advertisement
[Erstellen | Versionen | Aktualisieren]Buch und Feder.png DokumentationLua logo.svg Zum Gebrauch von Lua-Modulen siehe die Modul-Hilfe.
Dieses Modul hat keine Dokumentation. Wenn du weißt, wie es funktioniert, dann erstelle sie bitte.
local p = {}

-- {{Protokollversion}}
function p.protocol_version( f )
    local args = f
    if f == mw.getCurrentFrame() then 
        args = require( 'Modul:ParameterUmwandeln' ).merge( true )
    end
    local version = mw.text.trim( args[1] or '' )
    
    -- load the values from the submodule
    local version_data = mw.loadData( 'Modul:Protokollversion/Versionen' ).versions[version]
    
    local category = ''
    local value
    local title = mw.title.getCurrentTitle()
    
    if version_data then
        if version_data.protocol then
    		if version_data.protocol == 'Unknown' then
    			value = '[[Vorlage:Protokollversion#Unbekannte Version|Unbekannt]]'
    			if not args.nocat and title.namespace == 0 and not title.isSubpage then
					category = '[[Kategorie:Unbekannte Protokollversion]]'
				end
    		else
    	 	value = version_data.protocol
			end
        else
            value = 'N/A'
        end
    else
        value = '[[Vorlage:Protokollversion#Unbekannte Version|Wartend]]'
        if not args.nocat and title.namespace == 0 and not title.isSubpage then
            category = '[[Kategorie:Unbekannte Protokollversion]]'
        end
    end
    return value .. category
end

-- {{Datenversion}}
function p.data_version( f )
    local args = f
    if f == mw.getCurrentFrame() then 
        args = require( 'Modul:ParameterUmwandeln' ).merge( true )
    end
    local version = mw.text.trim( args[1] or '' )
    
    -- load the values from the submodule
    local version_data = mw.loadData( 'Modul:Protokollversion/Versionen' ).versions[version]
    
    local category = ''
    local value
    local title = mw.title.getCurrentTitle()
    
    if version_data then
        if version_data.data then
            if version_data.data == 'Unknown' then
    			value = '[[Vorlage:Datenversion#Unbekannte Version|Unbekannt]]'
    			if not args.nocat and title.namespace == 0 and not title.isSubpage then
					category = '[[Kategorie:Unbekannte Datenversion]]'
				end
			else
				value = version_data.data
			end
        else
            value = 'N/A'
        end
    else
        value = '[[Vorlage:Datenversion#Unbekannte Version|Wartend]]'
        if not args.nocat and title.namespace == 0 and not title.isSubpage then
            category = '[[Kategorie:Unbekannte Datenversion]]'
        end
    end
    return value .. category
end

-- Version table ({{Protokollversion/table}})
function p.table( f )
    local args = f
    if f == mw.getCurrentFrame() then
        args = require( 'Modul:ParameterUmwandeln' ).merge( true )
    end
    
    local html = {}
    local groups = mw.loadData( 'Modul:Protokollversion/Versionen' ).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
                if not args.notitle then
	            table.insert( html, "=== [[" .. group.link .. '|' .. group.name .. "]] ===\n" )
                end
	        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>Client version</th>\n' )
	        table.insert( html, '<th>[[Protokollversion]]</th>\n' )
	        if group.has_data_versions then
	            table.insert( html, '<th>[[Datenversion]]</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>\n' )
	            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>\n' )
	                protocol_row = #html
	            else
	                num_same_protocol = num_same_protocol + 1
	                html[protocol_row] = '<td rowspan="' .. num_same_protocol .. '">' .. version.protocol .. '</td>\n'
	            end
	            if group.has_data_versions then
	                if version.data then
	                    table.insert( html, '<td>' .. version.data .. '</td>\n' )
	                else
	                    table.insert( html, '<td>—</td>\n' )
	                end
	            end
	            table.insert( html, '</tr>\n' )
	        end
	
	        table.insert( html, '</table>\n' )
        end
    end

    return table.concat( html )
end

return p
Advertisement