Module:Data tables/tanks

From Kerbal Space Program 2 Wiki
Revision as of 23:48, 2 February 2025 by KiwiShark (talk | contribs) (append)
Jump to navigation Jump to search

Documentation for this module may be created at Module:Data tables/tanks/doc

local p = {}
local _commonCells = require("Module:Data tables/common").commonCells
local _commonHeaders = require("Module:Data tables/common").commonHeaders
local _formatResource = require("Module:Data infobox")._formatResource

-- Builds table formatted for fuel tanks
function p.tankTable(args)
	local category = args[1]
	local family = args[2]
	local json = mw.loadJsonData("Data:Collections/parts")
	local cells = ''
	

	local headers = _commonHeaders()
	
	-- build header and cells per resource in the tank
	-- per usual, iterate through each part in the family
	for k, v in pairs(json[category][family]) do
		local partJson = mw.loadJsonData("Data:"..k)
		local tempCell = _commonCells(partJson)
		
		-- iterate over each resource in the tank (thanks methalox)
		for m, p in pairs(partJson["resources"]) do
			-- ignore units tab
			if m ~= "units" then
				headers = headers.."!".._formatResource(m).."(t) \n"
				tempCell = _commonCells(partJson) ..
					"|".. p .."\n"
			end
			cells = tempCell .. cells
		end
		
	end

	-- append the cells to the headers and cap off the table wiki text
	local podTab = headers..cells.."|}"
	return podTab
end

return p