Module:DungeonsDLC
Jump to navigation
Jump to search
This module implements {{DungeonsDLC}}
. Data stored in Module:DungeonsDLC/data.
Dependencies[edit source]
[view] [edit] [history] [refresh]The above documentation is transcluded from Module:DungeonsDLC/doc.
local p = {}
local i18n = {
title = "This page describes content that is a part of the [[MCD:$1|$2]] DLC.",
titleUpcoming = "This page describes content that is a part of an upcoming DLC.",
titleSection = "This section describes content that is a part of the [[MCD:$1|$2]] DLC.",
titleUpcomingSection = "This section describes content that is a part of an upcoming DLC.",
message = "This feature may be added to the game in the future.",
category = "[[Category:$1 content]]",
categoryFuture = "[[Category:Minecraft Dungeons future content]]",
}
function p.base( f )
local args = f
if f == mw.getCurrentFrame() then
args = require( 'Module:ProcessArgs' ).merge( true )
else
f = mw.getCurrentFrame()
end
local dataPage = mw.loadData( 'Module:DungeonsDLC/data' )
local data = dataPage[args[1]] or {}
if not args.section then
if args[1] then
title = i18n.title:gsub( '%$1', args[1] ):gsub( '%$2', data.name or args[1] )
else
title = i18n.titleUpcoming
end
else
if args[1] then
title = i18n.titleSection:gsub( '%$1', args[1] ):gsub( '%$2', data.name or args[1] )
else
title = i18n.titleUpcomingSection
end
end
if data.released == true then
text = args.message or ''
else
text = args.message or i18n.message
end
if not args.nocat then
if args[1] then
if data.released == true then
cat = i18n.category:gsub( '%$1', args[1] or '')
else
cat = i18n.category:gsub( '%$1', args[1] or '') .. i18n.categoryFuture
end
else
cat = i18n.categoryFuture
end
end
local msgbox = f:expandTemplate{ title = 'Message box', args = {
title = title,
text = text,
image = data.image or "Mystery Armor (MCD).png",
type = "edition",
mini = args.section or ''
} }
return msgbox, cat or ''
end
function p.doc(f)
local dataPage = mw.loadData( 'Module:DungeonsDLC/data' )
local valid_args = {}
for dlc_name, val in pairs(dataPage) do
table.insert( valid_args, dlc_name )
end
local rows = {}
for i, val in pairs(valid_args) do
table.insert( rows, f:preprocess('<tr><td>{{t|DungeonsDLC|' .. valid_args[i] .. '}}</td><td>{{DungeonsDLC|' .. valid_args[i] .. '|nocat=1}}</td></tr>') )
end
return table.concat( rows)
end
return p