Private
Public Access
1
0

Added more functions

Streamlined the process
This commit is contained in:
Jan Grießhaber
2025-12-29 16:32:47 +01:00
parent 149b085cb7
commit 5accb091b0
6 changed files with 133 additions and 112 deletions

View File

@@ -1,56 +1,51 @@
---@param productionStatsTable LuaFlowStatistics
---@param surface LuaSurface
---@return string
function CreateItemStatisticsString(productionStatsTable --[[LuaFlowStatistics]], surface --[[LuaSurface]])
local parts = {}
parts[#parts+1] = surface.name
parts[#parts+1] = "---input---"
for itemName, itemCount in pairs(productionStatsTable.input_counts) do
parts[#parts+1] = itemName .. ":" .. itemCount
function SendProductionStats()
local productionParts = {}
productionParts[#productionParts+1] = "---production-stats---"
for _,surface in pairs(game.surfaces) do
local surfaceName = surface.name
local inputStats = game.forces["player"].get_item_production_statistics(surfaceName).input_counts
local outputStats = game.forces["player"].get_item_production_statistics(surfaceName).output_counts
if(surface.platform ~= nil) then
--surface is a space platform and has a seperate name we can use
surfaceName = surface.platform.name
end
for itemName, itemCount in pairs(inputStats) do
productionParts[#productionParts+1] = ("%s:in:%s:%d"):format(surfaceName, itemName, itemCount)
end
for itemName, itemCount in pairs(outputStats) do
productionParts[#productionParts+1] = ("%s:out:%s:%d"):format(surfaceName, itemName, itemCount)
end
end
parts[#parts+1] = "---output---"
for itemName, itemCount in pairs(productionStatsTable.output_counts) do
parts[#parts+1] = itemName .. ":" .. itemCount
end
parts[#parts+1] = surface.name
return table.concat(parts, "\n")
helpers.send_udp(udpAddress, table.concat(productionParts, "\n"), serverIndex)
end
---comment
---@param fluidStatsTable LuaFlowStatistics
---@param surface LuaSurface
---@return string
function CreateFluidStatisticsString(fluidStatsTable --[[LuaFlowStatistics]], surface --[[LuaSurface]])
local parts = {}
parts[#parts+1] = surface.name
parts[#parts+1] = "---input---"
for fluidName, fluidCount in pairs(fluidStatsTable.input_counts) do
parts[#parts+1] = fluidName .. ":" .. fluidCount
end
parts[#parts+1] = "---output---"
for fluidName, fluidCount in pairs(fluidStatsTable.output_counts) do
parts[#parts+1] = fluidName .. ":" .. fluidCount
end
parts[#parts+1] = surface.name
return table.concat(parts, "\n")
end
---comment
---@param deathStatsTable LuaFlowStatistics
---@param surface LuaSurface
---@return string
function CreateDeathStatisticsString(deathStatsTable --[[LuaFlowStatistics]], surface --[[LuaSurface]])
local parts = {}
parts[#parts+1] = surface.name.."{"
parts[#parts+1] = "---input---"
for name, count in pairs(deathStatsTable.input_counts) do
parts[#parts+1] = name .. ":" .. count
function SendFluidProductionStats()
local productionParts = {}
productionParts[#productionParts+1] = "---fluid-production-stats---"
for _,surface in pairs(game.surfaces) do
local surfaceName = surface.name
local inputStats = game.forces["player"].get_fluid_production_statistics(surfaceName).input_counts
local outputStats = game.forces["player"].get_fluid_production_statistics(surfaceName).output_counts
if(surface.platform ~= nil) then
--surface is a space platform and has a seperate name we can use
surfaceName = surface.platform.name
end
for itemName, itemCount in pairs(inputStats) do
productionParts[#productionParts+1] = ("%s:in:%s:%d"):format(surfaceName, itemName, itemCount)
end
for itemName, itemCount in pairs(outputStats) do
productionParts[#productionParts+1] = ("%s:out:%s:%d"):format(surfaceName, itemName, itemCount)
end
end
parts[#parts+1] = "---output---"
for name, count in pairs(deathStatsTable.output_counts) do
parts[#parts+1] = name .. ":" .. count
end
parts[#parts+1] = surface.name
return table.concat(parts, "\n")
helpers.send_udp(udpAddress, table.concat(productionParts, "\n"), serverIndex)
end