Module:Crafting
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