Module:Crafting

Revision as of 15:17, 10 November 2018 by Kroppeb (talk | contribs) (Add support for `Arrow`)
p = {}

function Grid(args, w, h)
	return require([[Module:InventorySlot]]).call(args,w,h)
end

function p.Grid( f )
	local args = f.args
	if #args == 0 then
		args = f:getParent().args
	end

	return Grid(args, 3, 3)
end

function p.Cell( f )
	local args = f.args
	if #args == 0 then
		args = f:getParent().args
	end

	return Grid(args, 1, 1)
end

function p.Hopper( f )
	local args = f.args
	if #args == 0 then
		args = f:getParent().args
	end

	return Grid(args, 5, 1)
end

function p.Arrow( f )
	local args = f.args
	if #args == 0 then
		args = f:getParent().args
	end
	return require([[Module:Sprite]])
		:new("crafting_arrow")
		:setItem(mw.text.trim(args[1]))
		:GenerateHTML()
end

return p