Module:Looming

From WoopMC
Revision as of 19:05, 29 May 2024 by Mausterio (talk | contribs) (Created page with "local p = {} local i18n = { categoryUpcoming = 'Category:Upcoming', moduleArgs = Module:ProcessArgs, moduleRecipe = Module:Recipe table, type = 'Loom', } p.i18n = i18n local recipeTable = require( i18n.moduleRecipe ).table function p.table( f ) local args = f if f == mw.getCurrentFrame() then args = require( i18n.moduleArgs ).merge( true ) else f = mw.getCurrentFrame() end args.Banner = args[1] args.Dye = args[2] args.Pattern = args[3] args.S...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:Looming/doc

local p = {}

local i18n = {
	categoryUpcoming = 'Category:Upcoming',
	moduleArgs = [[Module:ProcessArgs]],
	moduleRecipe = [[Module:Recipe table]],
	type = 'Loom',
}
p.i18n = i18n

local recipeTable = require( i18n.moduleRecipe ).table

function p.table( f )
	local args = f
	if f == mw.getCurrentFrame() then
		args = require( i18n.moduleArgs ).merge( true )
	else
		f = mw.getCurrentFrame()
	end
	
	args.Banner = args[1]
	args.Dye = args[2]
	args.Pattern = args[3]
	args.Sprite = args[4]
	args.Output = args[5]
	
	local out = recipeTable( args, {
		uiFunc = 'loom',
		type = i18n.type,
		ingredientArgs = { 'Banner', 'Dye', 'Pattern' },
		outputArgs = { 'Output' },
	} )
	
	local title = mw.title.getCurrentTitle()
	local category
	if args.upcoming and args.nocat ~= '1' and title.namespace == 0 and not title.isSubpage then
		category = '[[' .. i18n.categoryUpcoming .. ']]'
	end
	
	return out, category
end

return p