Module:Data tables/tanks: Difference between revisions

From Kerbal Space Program 2 Wiki
Jump to navigation Jump to search
moved cell append into resource loop
change header
Line 12: Line 12:


local headers = _commonHeaders()
local headers = _commonHeaders()  
if family ~= "methalox" then
headers = headers .. "!".._formatResource(family).."(t) \n"
else
headers = headers .. "!Methane (t)\n" .. "!Oxidizer (t)\n"
end
-- build header and cells per resource in the tank
-- build header and cells per resource in the tank
Line 24: Line 30:
-- ignore units tab
-- ignore units tab
if m ~= "units" then
if m ~= "units" then
headers = headers.."!".._formatResource(m).."(t) \n"
tempCell = _commonCells(partJson) ..
tempCell = _commonCells(partJson) ..
"|".. p .."\n"
"|".. p .."\n"

Revision as of 23:53, 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() 
	if family ~= "methalox" then
		headers = headers .. "!".._formatResource(family).."(t) \n"
	else
		headers = headers .. "!Methane (t)\n" .. "!Oxidizer (t)\n"
	end
		
	
	-- 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
				tempCell = _commonCells(partJson) ..
					"|".. p .."\n"
				cells = tempCell .. cells
			end
		end
		
	end

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

return p