How Foods was built

Raw game files read

Processing

Every itemtypes/ or blocktypes/ variant with a nutritionProps object that has a numeric satiety and a foodcategory becomes a row. The props are often a nutritionPropsByType glob map ("*-flax-perfect": {...}), resolved for each concrete variant with the most specific matching pattern winning; the lookup is case-insensitive like the game's.

nutritionPropsWhenInMeal (what an ingredient counts for inside a cooked meal) is shown as "In meals" when it differs. Liquids use nutritionPropsPerLitre, which scales with the portion size, and cooked meals/pies compute their nutrition from their ingredients; neither is listed here.

Each row is also given an item page even if no recipe or drop table references it, and that page shows the same numbers in a Nutrition section.

Pipeline code