Module:Data tables/tanks: Difference between revisions

From Kerbal Space Program 2 Wiki
Jump to navigation Jump to search
comments and tweaks
updated header line
Line 24: Line 24:
-- ignore units tab
-- ignore units tab
if m ~= "units" then
if m ~= "units" then
headers = headers.._formatResource(m)
headers = headers.."!".._formatResource(m)"(t) \n"
tempCell = _commonCells(partJson) ..
tempCell = _commonCells(partJson) ..
"|".. p .."\n"
"|".. p .."\n"

Revision as of 23:48, 2 February 2025

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