--[[ Maak downloadlinks om de s3-links te vervangen. ]]
local p = {}
function p.downloadLinkConstructor( f ) local args = f if f == mw.getCurrentFrame() then args = require( 'Module:ProcessArgs' ).merge( true ) end
local versie = mw.text.trim( tostring( args.v ) or ):lower() local variant = mw.text.trim( args.s or ):lower()
-- Laad waarden uit submodule en definieer variabelen local versiedata = mw.loadData( 'Module:Downloadlinks/hashes' ).hash[versie] local windowsServer = mw.loadData( 'Module:Downloadlinks/windows_server' )[versie] local categorie = local dlink local dhash
if (versiedata or windowsServer) and variant then if (variant:lower() == 'client') and versiedata.clienthash then dhash = versiedata.clienthash dlink = 'https://launcher.mojang.com/mc/game/' .. versie .. '/client/' .. dhash .. '/client.jar' if versiedata.clienthash == nil then dlink = '—' if not args.nocat and titel.namespace == 0 and not titel.isSubpage then categorie = '' .. titel .. '' end end elseif (variant:lower() == 'server') and versiedata.serverhash then dhash = versiedata.serverhash dlink = 'https://launcher.mojang.com/mc/game/' .. versie .. '/server/' .. dhash .. '/server.jar' if versiedata.serverhash == nil then dlink = '—' if not args.nocat and titel.namespace == 0 and not titel.isSubpage then categorie = '' .. titel .. '' end end elseif (variant:lower() == 'json') and versiedata.jsonhash then dhash = versiedata.jsonhash dlink = 'https://launchermeta.mojang.com/mc/game/' .. dhash .. '/' .. versie .. '.json' if versiedata.jsonhash == nil then dlink = '—' if not args.nocat and titel.namespace == 0 and not titel.isSubpage then categorie = '' .. titel .. '' end end elseif (variant:lower() == 'windows') and windowsServer then dhash = windowsServer dlink = 'https://launcher.mojang.com/mc/game/' .. versie .. '/windows_server/' .. dhash .. '/windows_server.exe' --[[ Hoewel onwaarschijnlijk dat een Windowsversie 'nil' krijgt als waarde (gewoon niet toevoegen), toch toegevoegd voor het geval dat. ]] if windowsServer == nil then dlink = '—' if not args.nocat and titel.namespace == 0 and not titel.isSubpage then categorie = '' .. titel .. '' end end else dlink = 'missingno' end else dlink = 'Parameterfout' local titel = mw.title.getCurrentTitle() if not args.nocat and titel.namespace == 0 and not titel.isSubpage then categorie = '' .. titel .. '' end end
-- Mogelijkheid om een beschrijving toe te voegen if args.beschrijving then local beschrijving = mw.text.trim( args.beschrijving ) dlink = '[' .. dlink .. ' ' .. beschrijving .. ']' else dlink = dlink end return dlink .. categorie end
return p