Deze module heeft als doel om alle aan waarden gerelateerde functies en submodules uit te voeren. Hieronder volgt de beschrijving per functie. Voeg nieuwe functies onderaan toe of op de plaats waar ze in de module staan.
Functies[]
Hieronder volgt de beschrijving per functie en welke modules vereist zijn voor het succesvol uitvoeren van de functie.
Functies voor protocol- en dataversies[]
Functie protocol_version[]
- Zie ook: Sjabloon:Protocolversie
Deze functie toont de protocolversies voor het sjabloon {{Protocolversie}}
.
Afhankelijkheden[]
- Module:ProcessArgs
- Module:Waarden
Code[] |
---|
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 '' )
local type = args.type
-- laadt de waarden uit de submodule
local version_data = mw.loadData( 'Module:Waarden/Protocol- en dataversies' ).versions[version]
local category = ''
local value
if version_data then
value = version_data.protocol
else
value = '[[Sjabloon:Protocolversie#Ontbrekende waarde|—]]'
local title = mw.title.getCurrentTitle()
if not args.nocat and title.namespace == 0 and not title.isSubpage then
category = '[[Categorie:Ontbrekende protocolversie]]'
end
end
return value .. category
end
|
Functie data_version[]
- Zie ook: Sjabloon:Dataversie
Deze functie toont de dataversie voor het sjabloon {{Dataversie}}
.
Afhankelijkheden[]
- Module:ProcessArgs
- Module:Waarden
Code[] |
---|
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 '' )
local type = args.type
-- laadt de waarden uit de submodule
local version_data = mw.loadData( 'Module:Waarden/Protocol- en dataversies' ).versions[version]
local category = ''
local value
if version_data then
if version_data.data then
value = version_data.data
else
value = "n.v.t."
end
else
value = '[[Sjabloon:Dataversie#Ontbrekende waarde|—]]'
local title = mw.title.getCurrentTitle()
if not args.nocat and title.namespace == 0 and not title.isSubpage then
category = '[[Categorie:Ontbrekende dataversie]]'
end
end
return value .. category
end
|
Functie table[]
- Zie ook: Sjabloon:Protocolversie § Tabel
Deze functie maakt een geordende tabel met tussenkopjes. In deze tabel staan de Minecraftversie en de bijbehorende protocol- en dataversies naast elkaar. Verder kunnen de tabellen geordend worden.
Afhankelijkheden[]
- Module:ProcessArgs
- Module:Waarden
Code[] |
---|
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:Waarden/Protocol- en dataversies' ).groups
for _, group in ipairs(groups) do
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>Versie</th>\n' )
table.insert( html, '<th>Protocolversie</th>\n' )
table.insert( html, '<th>Dataversie</th>\n' )
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 version.data then
table.insert( html, '<td>' .. version.data .. '</td>' )
else
table.insert( html, '<td>—</td>' )
end
table.insert( html, '</tr>' )
end
table.insert( html, '</table>\n' )
end
return table.concat( html )
end
|
Functies voor blokwaarden[]
Functie explosieweerstand[]
- Zie ook: Sjabloon:Explosieweerstand
Deze functie laadt explosieweerstanden uit de submodule explosieweerstand en toont ze door middel van het het sjabloon {{explosieweerstand}}
.
Afhankelijkheden[]
- Module:ProcessArgs
- Module:Waarden
Code[] |
---|
function p.explosieweerstand( f )
local args = f
if f == mw.getCurrentFrame() then
args = require( 'Module:ProcessArgs' ).merge( true )
end
local weerstand = mw.text.trim( args[1] or '' ):lower()
-- Laad waarden uit submodule Explosieweerstand
weerstand = weerstand
local waarde = mw.loadData( 'Module:Waarden/Explosieweerstand' )[weerstand]
local categorie = ''
if not waarde then
waarde = '[[Sjabloon:Explosieweerstand#Ontbrekende waarde|?]]'
local titel = mw.title.getCurrentTitle()
if not args.nocat and titel.namespace == 0 and not titel.isSubpage then
categorie = '[[Categorie:Ontbrekende explosieweerstand]]'
end
end
return waarde .. categorie
end
|
Functie hardheidSjabloon[]
- Zie ook: Sjabloon:Hardheid
Deze functie laadt hardheid van blokken uit de submodule hardheid en toont ze door middel van het het sjabloon {{hardheid}}
.
Afhankelijkheden[]
- Module:ProcessArgs
- Module:Waarden
Code[] |
---|
function p.hardheidSjabloon( f )
local args = f
if f == mw.getCurrentFrame() then
args = require( 'Module:ProcessArgs' ).merge( true )
end
local hardheid = mw.text.trim( args[1] or '' ):lower()
-- Laad waarden uit submodule Hardheid
hardheid = hardheid
local waarde = mw.loadData( 'Module:Waarden/Hardheid' )[hardheid]
local categorie = ''
if not waarde then
waarde = '[[Sjabloon:Hardheid#Ontbrekende waarde|?]]'
local titel = mw.title.getCurrentTitle()
if not args.nocat and titel.namespace == 0 and not titel.isSubpage then
categorie = '[[Categorie:Ontbrekende hardheid]]'
end
end
local waardeKomma = tostring( waarde )
return waardeKomma:gsub('%.', ',') .. categorie
end
|
Merk op dat :gsub('%.', ',')
als return
-waarde wordt opgegeven.
Functie hardheidModule[]
- Zie ook: Sjabloon:Hardheid
Deze functie laadt hardheid van blokken uit de submodule hardheid. De waarden worden vervolgens gebruikt om de breektijd te berekenen van blokken door middel van het sjabloon {{breektabel}}
.
Afhankelijkheden[]
- Module:ProcessArgs
- Module:Waarden
Code[] |
---|
function p.hardheidModule( f )
local args = f
if f == mw.getCurrentFrame() then
args = require( 'Module:ProcessArgs' ).merge( true )
end
local hardheid = mw.text.trim( args[1] or '' ):lower()
-- Laad waarden uit submodule Hardheid
hardheid = hardheid
local waarde = mw.loadData( 'Module:Waarden/Hardheid' )[hardheid]
local categorie = ''
if not waarde then
waarde = '[[Sjabloon:Hardheid#Ontbrekende waarde|?]]'
local titel = mw.title.getCurrentTitle()
if not args.nocat and titel.namespace == 0 and not titel.isSubpage then
categorie = '[[Categorie:Ontbrekende hardheid]]'
end
end
return waarde .. categorie
end
|
Merk op dat :gsub('%.', ',')
ontbreekt bij de return
-waarden.
--[[
Het doel van deze module is om alle aan data gerelateerde sjabloon-
inhoud op te slaan. Hierdoor is deze module ook zo groot. Boven alle
functies staat het sjabloon waarvoor ze zijn bedoeld. Verder staat
er ook boven welke (sub)modules vereist zijn om de functie met succes
uit te voeren.
Voor functiebeschrijvingen, zie de documentatie hierboven.
Nieuwe functies moeten onderaan geplaatst worden. Verder moeten ook de
(sub)modules erboven gezet worden, als commentaar. Vergeet ook niet de
documentatie te updaten, met de functies in de volgorde die hier staat.
]]
local p = {}
--[[
Sjabloon {{Protocolversie}}.
Vereiste modules: ProcessArgs, Waarden, Waarden/Protocol- en dataversies
Verder de categorie Ontbrekende protocolversie
]]
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 '' )
local type = args.type
-- laadt de waarden uit de submodule
local version_data = mw.loadData( 'Module:Waarden/Protocol- en dataversies' ).versions[version]
local category = ''
local value
if version_data then
value = version_data.protocol
else
value = '[[Sjabloon:Protocolversie#Ontbrekende waarde|—]]'
local title = mw.title.getCurrentTitle()
if not args.nocat and title.namespace == 0 and not title.isSubpage then
category = '[[Categorie:Ontbrekende protocolversie]]'
end
end
return value .. category
end
-- Einde functie protocol_version
--[[
Sjabloon {{Dataversie}}.
Vereiste modules: ProcessArgs, Waarden, Waarden/Protocol- en dataversies
Verder ook de categorie Ontbrekende dataversie
]]
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 '' )
local type = args.type
-- laadt de waarden uit de submodule
local version_data = mw.loadData( 'Module:Waarden/Protocol- en dataversies' ).versions[version]
local category = ''
local value
if version_data then
if version_data.data then
value = version_data.data
else
value = "n.v.t."
end
else
value = '[[Sjabloon:Dataversie#Ontbrekende waarde|—]]'
local title = mw.title.getCurrentTitle()
if not args.nocat and title.namespace == 0 and not title.isSubpage then
category = '[[Categorie:Ontbrekende dataversie]]'
end
end
return value .. category
end
-- Einde functie data_version
--[[
Versietabel ({{Protocolversie/tabel}} en {{Dataversie/tabel}}).
Vereiste modules: ProcessArgs, Waarden, Waarden/Protocol- en dataversies
]]
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:Waarden/Protocol- en dataversies' ).groups
for _, group in ipairs(groups) do
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>Versie</th>\n' )
table.insert( html, '<th>Protocolversie</th>\n' )
table.insert( html, '<th>Dataversie</th>\n' )
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 version.data then
table.insert( html, '<td>' .. version.data .. '</td>' )
else
table.insert( html, '<td>—</td>' )
end
table.insert( html, '</tr>' )
end
table.insert( html, '</table>\n' )
end
return table.concat( html )
end
--[[
Einde functie table
Einde protocol- en dataversies
]]
--[[
Sjabloon {{explosieweerstand}}
Vereiste modules: ProcessArgs, Waarden, Waarden/Explosieweerstandwaarden
Verder ook de categorie Ontbrekende explosieweerstand
]]
function p.explosieweerstand( f )
local args = f
if f == mw.getCurrentFrame() then
args = require( 'Module:ProcessArgs' ).merge( true )
end
local weerstand = mw.text.trim( args[1] or '' ):lower()
-- Laad waarden uit submodule Explosieweerstand
weerstand = weerstand:gsub( "[ %-'%(%)]", '' )
local waarde = mw.loadData( 'Module:Waarden/Explosieweerstand' )[weerstand]
local categorie = ''
if not waarde then
waarde = '[[Sjabloon:Explosieweerstand#Ontbrekende waarde|?]]'
local titel = mw.title.getCurrentTitle()
if not args.nocat and titel.namespace == 0 and not titel.isSubpage then
categorie = '[[Categorie:Ontbrekende explosieweerstand]]'
end
end
return waarde .. categorie
end
-- Einde functie explosieweerstand
--[[
Sjabloon {{hardheid}}
Vereiste modules: ProcessArgs, Waarden, Waarden/Hardheid
Verder ook categorie Ontbrekende hardheid
]]
function p.hardheidSjabloon( f )
local args = f
if f == mw.getCurrentFrame() then
args = require( 'Module:ProcessArgs' ).merge( true )
end
local hardheid = mw.text.trim( args[1] or '' ):lower()
-- Laad waarden uit submodule Hardheid
hardheid = hardheid:gsub( "[ %-'%(%)]", '' )
local waarde = mw.loadData( 'Module:Waarden/Hardheid' )[hardheid]
local categorie = ''
if not waarde then
waarde = '[[Sjabloon:Hardheid#Ontbrekende waarde|?]]'
local titel = mw.title.getCurrentTitle()
if not args.nocat and titel.namespace == 0 and not titel.isSubpage then
categorie = '[[Categorie:Ontbrekende hardheid]]'
end
end
local waardeKomma = tostring( waarde )
return waardeKomma:gsub('%.', ',') .. categorie
end
-- Einde functie hardheidSjabloon
--[[
Sjabloon {{breektabel}}
Vereiste modules: ProcessArgs, Waarden, Waarden/Hardheid
Wordt gebruikt in module: Breektabel
Verder ook categorie Ontbrekende hardheid
]]
function p.hardheidModule( f )
local args = f
if f == mw.getCurrentFrame() then
args = require( 'Module:ProcessArgs' ).merge( true )
end
local hardheid = mw.text.trim( args[1] or '' ):lower()
-- Laad waarden uit submodule Hardheid
hardheid = hardheid:gsub( "[ %-'%(%)]", '' )
local waarde = mw.loadData( 'Module:Waarden/Hardheid' )[hardheid]
local categorie = ''
if not waarde then
waarde = '[[Sjabloon:Hardheid#Ontbrekende waarde|?]]'
local titel = mw.title.getCurrentTitle()
if not args.nocat and titel.namespace == 0 and not titel.isSubpage then
categorie = '[[Categorie:Ontbrekende hardheid]]'
end
end
return waarde .. categorie
end
-- Einde functie hardheidModule
return p