Module:Crafting cost

local p = {} --p stands for package p.loadedData = mw.loadJsonData( "Module:Item infobox/itemData.json" ) local args = mw.getCurrentFrame.args

-- find the item data for our input arg for k, v in pairs(p.loadedData) do   if args[1] == v["inGameName"] then if args[2] == nil or args[2] == '' then p.data = p.loadedData[k] break end if args[2] == v["rarity"] then p.data = p.loadedData[k] break end end end

function p.main( frame ) --return mw.dumpObject(args) -- fetch our craft data local cost = p.data['cost'] local craftCost = cost['CraftingStation'] -- verify if this item has this recipe if cost == nil or craftCost == nil then error('This item does not have a crafting cost', 0) return; end -- create a list with our data in the format: {"Sample Container", 5, "K-Marks", 4,000} local data = {} local langObject = mw.language.new( 'en' ) for c, d in pairs(craftCost['items']) do   	table.insert(data, d['inGameName']) table.insert(data, langObject:formatNum(d['amount'] )) end -- add the crafting time to the end and return it	local listStars = '*' -- add nesting if frame.args.nested is true if frame.args['nested'] == 'true' then listStars = '**' data.nested = 'yes' end local timeString = '\n' .. listStars .. frame:expandTemplate{ title = 'Time', args = { craftCost['time'] } } --return mw.dumpObject(data) return frame:expandTemplate{ title = 'Item list', args = data } .. timeString end

return p