Module:Smithing

From Modded Wiki
Jump to navigation Jump to search

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

local p = {}

local i18n = {
	moduleArgs = [[Module:ProcessArgs]],
	moduleRecipe = [[Module:Recipe table]],
	type = 'Smithing',
}
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.Input1 = args[1]
	args.Input2 = args[2]
	args.Input3 = args[3]
	args.Output = args[4]
	
	args.foot = args.foot or args.tail
	
	local out = recipeTable(args, {
		uiFunc = 'smithing',
		type = i18n.type,
		ingredientArgs = { 'Input1', 'Input2', 'Input3' },
		outputArgs = { 'Output' },
	})
	return out
end

function p.legacyTable(f)
	local args = f
	if f == mw.getCurrentFrame() then
		args = require(i18n.moduleArgs).merge(true)
	else
		f = mw.getCurrentFrame()
	end
	
	args.Input1 = args[1]
	args.Input2 = args[2]
	args.Output = args[3]
	
	args.foot = args.foot or args.tail
	
	local out = recipeTable(args, {
		uiFunc = 'legacySmithing',
		type = i18n.type,
		ingredientArgs = { 'Input1', 'Input2' },
		outputArgs = { 'Output' },
	})
	return out
end

return p