How Foods was built
Raw game files read
itemtypes/**/*.json and blocktypes/**/*.json (variants with nutritionProps: a numeric satiety and a foodcategory)
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.