function SendProductionStats() if options.enableProduction then 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 helpers.send_udp(udpAddress, table.concat(productionParts, "\n"), serverIndex) end end function SendFluidProductionStats() if options.enableFluid then 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 helpers.send_udp(udpAddress, table.concat(productionParts, "\n"), serverIndex) end end function SendBuildStats() if options.enableProduction then local buildParts = {} buildParts[#buildParts+1] = "---build-stats---" for _,surface in pairs(game.surfaces) do local surfaceName = surface.name local inputStats = game.forces["player"].get_entity_build_count_statistics(surfaceName).input_counts local outputStats = game.forces["player"].get_entity_build_count_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 buildParts[#buildParts+1] = ("%s:in:%s:%d"):format(surfaceName, itemName, itemCount) end for itemName, itemCount in pairs(outputStats) do buildParts[#buildParts+1] = ("%s:out:%s:%d"):format(surfaceName, itemName, itemCount) end end helpers.send_udp(udpAddress, table.concat(buildParts, "\n"), serverIndex) end end