Module:Crafting

From Ethyrial Wiki
Jump to navigation Jump to search

Module for creating a crafting grid on pages


local p = {};  

function p.grid(frame) 
	local parent = mw.getCurrentFrame():getParent()
	local rows = parent.args[1] or 0
	local columns = parent.args[2] or 0
	local result = parent.args['result']
	local craftDiv = mw.html.create('div'):cssText('background: #26231A; box-shadow: 1px 1px 1px black; border: 1px solid #4f493b; width:min-content;')
	local craftTable = craftDiv:tag('table'):cssText('border-spacing: 10px;')
	if result then
		craftTable:done():tag('div'):wikitext('[[File:Crafting Arrow Down.png]]'):cssText('justify-content: center; display: flex;')
		craftTable:done():tag('div'):wikitext(parent:preprocess('{{Crafting/Item|'.. result ..'}}')):cssText('background: #211E18; border: 1px solid #4f493b; width:min-content; margin: 10px auto;')
	end
	for i=1,rows do
		local tr = craftTable:tag('tr')
		for y=1,columns do
			if parent.args[i..y] then
				tr:tag('td'):wikitext(parent:preprocess('{{Crafting/Item|'.. parent.args[i..y] ..'}}')):cssText('background: #211E18; border: 1px solid #4f493b;')
			else
				tr:tag('td'):cssText('width: 32px; height: 32px; background: #211E18; border: 1px solid #4f493b;')
			end
		end
	end
	return craftDiv
end


return p