MariesWiki
Nourished · Enhancement

Expanded Nutrient System

Nourished — Expanded Nutrient System & Fish Nutrition

Planned / Concept Updated 20 Sept 2026 27 min read

ℹNote

Status: 🟡 Planned / Concept
Origin: Discord Feature Request
Original Requester: JPanOuOP
Discussion: 2026-09-16 → 2026-09-17
Primary Systems: Nutrition / Food Classification / Recipes / HUD
Potential Future Scope: Nutrient-derived recipe values


🐟 Original Feature Request

Add Fish to New Nutrition

JPanOuOP — 9/16/26, 12:12 PM

On my server we have a lot of restaurant and we have so many menu for player so i think it will be great if fish have a new nutrition


💬 Discussion

Initial Response

Fish should already provide a protein nutrient value when properly classified.

The request was clarified to determine what new nutritional value fish should provide and how it should differ from the existing protein classification.


JPanOuOP — 9/16/26, 12:33 PM

The proposed distinction was something like Omega-3.

The reasoning was that protein alone doesn't give players much reason to specifically choose fish when other meats already provide protein.

A separate fish-associated nutritional benefit would encourage dietary variety.

The requester also pointed out that nutritional models differ by region and described a model familiar to them in Thailand/SEA involving:

  • Protein

  • Carbohydrates

  • Fiber

  • Vitamins

  • Fat

They suggested that individual foods could provide different combinations of nutrients, and that cooking could potentially combine the nutritional contributions of ingredients.


Response / Direction Taken

The existing five food-group bars should not be replaced by the new nutrient system.

Replacing the existing system would potentially break existing food classifications, datapack overrides, and other user configurations.

Instead, the plan is to build a separate nutrient system that exists alongside the existing five food-group bars.

Conceptually:

                 NOURISHED
                     │
          ┌──────────┴──────────┐
          │                     │
          ▼                     ▼
   FOOD GROUP SYSTEM       NUTRIENT SYSTEM
          │                     │
          ▼                     ▼
      5 FOOD BARS          Individual Nutrients
          │                     │
          │              ┌──────┼──────┐
          │              ▼      ▼      ▼
          │           Protein  Fat   Fiber ...
          │
          └──────────────┬──────────────┘
                         ▼
                    Food Intake

The two systems should remain independent.


🎯 Primary Goal

Give different foods meaningfully different nutritional purposes without destroying the existing Nourished food-group system.

The system should eventually allow a player to have a reason to choose:

  • Fish over beef

  • Vegetables over meat

  • Whole grains over refined foods

  • Dairy over non-dairy foods

  • Different ingredients instead of repeatedly eating one optimal food

The objective is dietary variety, not simply adding more bars.


🧠 Core Design Principle

Existing Food Groups ≠ Nutrients

The current system should continue to answer:

"What kind of food am I eating?"

The new nutrient system should answer:

"What nutritional benefits am I getting from it?"

These are related, but they are not the same thing.

For example:

SALMON

Food Group:
Protein

Nutrients:
Protein
Fat
Omega-3

While:

BEEF

Food Group:
Protein

Nutrients:
Protein
Fat
Iron

Both are protein foods, but they provide different nutritional profiles.

That distinction is the core reason for creating the second system.


🥗 Proposed Nutrient System

The exact nutrient list is not finalized.

Potential initial nutrients:

  • Protein

  • Carbohydrates

  • Fat

  • Fiber

  • Vitamins

  • Omega-3

Potential future nutrients:

  • Calcium

  • Iron

  • Sodium

  • Potassium

  • Other configurable nutrients

The initial implementation should avoid trying to model real-world nutrition perfectly.

Minecraft food values are intentionally abstract.

The system should prioritize:

  1. Gameplay

  2. Configurability

  3. Understandability

  4. Variety

  5. Compatibility

over attempting to become a real nutritional database.


🐟 Fish / Omega-3

Fish is the original motivation for this feature.

The important gameplay question is:

Why would a player choose fish if another protein source provides the same basic protein benefit?

Omega-3 provides one possible answer.

For example:

Chicken
Protein ███████
Omega-3 ░░░░░░░

Beef
Protein ███████
Omega-3 ░░░░░░░

Salmon
Protein ██████
Omega-3 ███████

The intention isn't necessarily to make fish universally better.

Instead:

Different foods should provide different nutritional profiles.

That gives players a reason to diversify their diet.


🍳 Cooking / Recipe Composition

One of the most interesting ideas from the discussion is having nutritional values derive from the ingredients used to create a food.

For example:

SALMON
Protein: 7
Fat: 5
Omega-3: 8

RICE
Carbs: 8
Fiber: 2

VEGETABLE
Fiber: 5
Vitamins: 7

A recipe could theoretically combine these values:

SALMON RICE BOWL

Protein:   7
Fat:       5
Omega-3:   8
Carbs:     8
Fiber:     7
Vitamins:  7

This would mean modded foods could potentially inherit meaningful nutritional values without requiring every individual recipe to be manually classified.


⚙️ Ingredient-Derived Nutrition

Long-Term Goal

Allow nutritional values to be derived from recipe ingredients.

Conceptually:

Ingredient
     │
     ▼
Nutritional Profile
     │
     ▼
Recipe
     │
     ├── Ingredient A
     ├── Ingredient B
     └── Ingredient C
     │
     ▼
Combined Nutritional Profile
     │
     ▼
Final Food

This could dramatically reduce manual configuration for large modpacks.


🧮 Combining Nutritional Values

This needs significant design work.

Simply adding every ingredient together may result in absurd values.

For example:

3 ingredients × 10 protein
=
30 protein

If every recipe worked this way, complex foods could become disproportionately powerful.

Potential approaches:

Additive

Final = A + B + C

Simple, predictable, potentially exploitable.

Averaged

Final = (A + B + C) / ingredient_count

Prevents large recipes from automatically becoming better.

Weighted

Final = Σ(nutrient × ingredient contribution)

Could account for how much of each ingredient actually contributes.

Rescaled

Raw ingredient total
        ↓
Recipe normalization
        ↓
Final nutritional value

This may be the most appropriate long-term approach if food bars have a fixed scale.


📏 Scaling Problem

A major technical/design issue is bar scaling.

If individual foods have manageable nutritional values but recipes combine several ingredients, the resulting values could exceed the normal HUD scale.

Example:

Ingredient A = 8
Ingredient B = 7
Ingredient C = 9

Raw total = 24

If the HUD expects values between 0–10, simply displaying 24 creates a problem.

Therefore:

  • Determine the internal nutrient range.

  • Determine whether nutrients should have fixed maximums.

  • Determine whether recipe values should be normalized.

  • Determine whether the HUD should dynamically scale.

  • Determine whether internal values and displayed values should differ.

  • Determine whether nutrient values should represent intake rather than a persistent bar.


🖥️ HUD Design

The nutrient system should not automatically mean six or ten additional permanent bars.

That could quickly make the HUD overwhelming.

Potential presentation:

Compact

Nutrition
Protein     ████████
Carbs       ██████
Fat         █████
Fiber       ███████
Vitamins    ████████
Omega-3     ████

Expandable

┌───────────────────────┐
│ FOOD GROUPS            │
│ ████████████████████  │
│                       │
│ Nutrients        [>]  │
└───────────────────────┘

Tooltips

Nutrients could also be shown through food tooltips or the diet screen without requiring permanent HUD space.


🔄 Relationship With Existing Five Bars

This needs to remain a strict compatibility boundary.

Existing System

Fruits
Vegetables
Protein
Grains
Dairy

New System

Protein
Carbohydrates
Fat
Fiber
Vitamins
Omega-3
...

These are not replacements for one another.

A food can therefore have:

Food Group:
Protein

Nutrients:
Protein
Fat
Omega-3

This means the same food can participate in both systems.


🧩 Overrides & Compatibility

One of the most important requirements is preserving existing Nourished configuration.

The new nutrient system must not invalidate:

  • Existing food overrides

  • Existing source classifications

  • Existing datapack configurations

  • Existing KubeJS integrations

  • Existing food-group classifications

  • Existing server configurations

Existing food-group behavior should remain intact.

The nutrient system should be additive.


🗂️ Potential Override Model

Eventually, a food could have both:

Food Classification
        +
Nutritional Profile

For example:

{
  "food_group": "protein",
  "nutrients": {
    "protein": 8,
    "fat": 4,
    "omega_3": 7
  }
}

Exact format is intentionally undecided.


🌎 Regional / Cultural Considerations

The original request also highlighted an important consideration:

Nutrition systems differ culturally and regionally.

The goal should therefore not be to imply that there is one universally correct nutritional model.

Nourished should provide a gameplay framework that can be configured.

For example, one server might care about:

Protein
Carbs
Fat
Fiber
Vitamins

while another might want:

Protein
Fat
Omega-3
Fiber
Calcium
Iron

Therefore:

  • Consider configurable nutrients.

  • Avoid hardcoding a culturally specific nutrition model where possible.

  • Document that nutrient values are gameplay abstractions.

  • Allow servers/datapacks to define nutritional profiles.


🍲 Restaurant / Food Variety Use Case

This feature is particularly useful for servers with large food systems.

A server may have:

  • Restaurants

  • Custom menus

  • Multiple cuisines

  • Hundreds of foods

  • Custom recipes

  • Modded ingredients

Without nutritional differentiation, players can eventually discover a small number of optimal foods and ignore everything else.

The nutrient system could instead make different foods useful for different reasons.

Example:

Restaurant A
  Salmon Bowl
  → High Omega-3

Restaurant B
  Steak Dinner
  → High Protein + Iron

Restaurant C
  Vegetable Curry
  → High Fiber + Vitamins

Restaurant D
  Rice Dish
  → High Carbohydrates

This gives custom food content a mechanical purpose beyond simply providing hunger/saturation.


🔮 Future Interaction With Diet Deficiency

This system could eventually connect directly with the proposed Tiered Diet Deficiency System.

For example:

Food Groups
     │
     ▼
Complete Diet?
     │
     ├── YES ──► Healthy
     │
     └── NO ───► Deficiency

And eventually:

Nutrients
     │
     ▼
Nutrient deficiency?
     │
     ├── NO ──► Normal
     │
     └── YES ─► Nutrient deficiency

This could eventually create a much deeper nutrition system.

However:

Do not combine these systems prematurely.

The nutrient system should first work independently.


🏗️ Suggested Development Phases

Phase 1 — Nutrient Framework

  • Create nutrient data model.

  • Create nutrient registry.

  • Create nutrient values for foods.

  • Define how food intake contributes nutrients.

  • Persist player nutrient state.

  • Keep the system independent from existing food-group tracking.


Phase 2 — Initial Nutrients

Start with a deliberately small set.

  • Protein

  • Carbohydrates

  • Fat

  • Fiber

  • Vitamins

  • Omega-3

Do not immediately add every possible micronutrient.


Phase 3 — Fish

  • Add fish-specific nutritional profiles.

  • Determine which fish receive Omega-3.

  • Determine whether all fish should have the same Omega-3 value.

  • Determine whether raw/cooked fish should differ.

  • Determine whether fishing-related foods should receive special handling.

  • Test fish against existing protein classifications.


Phase 4 — Nutrient Display

  • Add nutrient information to the diet screen.

  • Add optional nutrient HUD.

  • Add nutrient tooltips.

  • Add configurable visibility.

  • Make nutrient display compatible with dynamic HUD resizing.

  • Avoid modifying classic UI unless specifically required.


🍳 Phase 5 — Recipe-Derived Nutrition

This is the larger long-term feature.

  • Read recipe ingredients.

  • Retrieve nutritional profiles.

  • Combine ingredient values.

  • Normalize resulting values.

  • Account for ingredient quantities.

  • Handle nested recipes.

  • Handle recipes with non-food ingredients.

  • Handle modded recipe types.

  • Determine behavior for unknown ingredients.

  • Cache calculated recipe values.

  • Recalculate when datapacks reload.

  • Provide override support.


🧪 Testing — Fish

  • Raw fish receives expected nutrients.

  • Cooked fish receives expected nutrients.

  • Different fish can have different Omega-3 values.

  • Fish still counts toward Protein.

  • Existing food overrides still work.

  • Datapack overrides still work.

  • KubeJS overrides still work.

  • Nutrient values synchronize correctly on multiplayer.

  • Nutrient values persist correctly.

  • No client-only code is introduced to server nutrition processing.


🧪 Testing — Recipes

  • Simple one-ingredient recipe.

  • Two-ingredient recipe.

  • Complex multi-ingredient recipe.

  • Recipe with repeated ingredients.

  • Recipe with unknown nutritional values.

  • Recipe from another mod.

  • Recipe changed by datapack.

  • Recipe removed/reloaded.

  • Recipe with unusual quantities.

  • Recipe with nested ingredients.

  • Recipe with non-food ingredients.


⚠️ Major Design Risks

Nutritional Complexity

Adding too many nutrients could turn the system into a spreadsheet instead of a Minecraft mechanic.

Goal: meaningful differences without requiring players to become nutritionists.


HUD Clutter

Every new nutrient creates pressure to display another bar.

Goal: keep the information available without requiring players to permanently display everything.


Recipe Explosion

Ingredient-derived nutrition could become computationally expensive or difficult to reason about across hundreds of mods.

Goal: calculate and cache values rather than repeatedly rebuilding them during gameplay.


Balance

If one food becomes objectively optimal across every nutrient, the system defeats its own purpose.

Goal:

Different foods
      ↓
Different nutritional profiles
      ↓
Different reasons to eat them
      ↓
Dietary variety

Not:

Find one food with every nutrient
      ↓
Eat it forever

💡 Design Philosophy

The system should encourage variety, not create a new optimization puzzle where players identify one mathematically perfect food.

Ideally:

A balanced diet should involve eating different foods because they provide different nutritional benefits.

Fish should be useful because it offers something distinctive.

Vegetables should have their own advantages.

Grains should have their own advantages.

Meat should have its own advantages.

Dairy should have its own advantages.

The system should make the player's food choices feel meaningful without making one particular food objectively mandatory.


📌 Current Decisions

  • Keep the existing five food-group bars.

  • Build nutrients as a separate system.

  • Do not replace existing food classification.

  • Preserve existing food/datapack/KubeJS overrides.

  • Consider Omega-3 as a fish-associated nutrient.

  • Consider ingredient-derived recipe nutrition as a future feature.

  • Finalize initial nutrient list.

  • Finalize nutrient scaling.

  • Finalize nutrient HUD presentation.

  • Finalize fish nutritional profiles.

  • Finalize recipe calculation model.


❓ Open Questions

Nutrients

  • What nutrients actually belong in the initial release?

  • Should Omega-3 be the only fish-specific nutrient initially?

  • Should nutrients be configurable/registrable?

  • Should nutrient values be integers, decimals, or normalized values?

Fish

  • Should all fish provide Omega-3?

  • Should different fish have different Omega-3 values?

  • Should cooked fish have different nutritional values?

  • Should fish-based recipes inherit Omega-3 automatically?

Recipes

  • Should ingredient quantities affect nutrition?

  • Should nutrition be additive?

  • Should values be averaged?

  • Should values be normalized?

  • How should complex recipes be scaled?

Gameplay

  • Should nutrients eventually cause deficiencies?

  • Should nutrients eventually interact with the tiered deficiency system?

  • Should high nutrient levels provide positive effects?

  • Should nutrients only prevent deficiencies rather than provide buffs?

UI

  • Where should nutrient information live?

  • Should nutrients be shown in the Diet screen?

  • Should the HUD be optional?

  • Should nutrient bars be collapsible?

  • Should nutrient information appear in food tooltips?


🧭 Recommended Scope Boundary

Do First

Food
 ↓
Nutritional Profile
 ↓
Player Nutrient Tracking
 ↓
Nutrient Display

Do Later

Recipe
 ↓
Ingredient Nutritional Profiles
 ↓
Combined Nutritional Profile
 ↓
Normalization

Do Much Later

Nutrient Deficiency
 ↓
Tiered Consequences
 ↓
Activity Interaction
 ↓
Calories Interaction

Do not attempt to build all three layers at once.


📝 Feature Request — Short Form

ℹNote

Discord/GitHub version

Expanded Nutrient System / Fish Nutrition

A community member requested a more distinct nutritional role for fish, suggesting something such as Omega-3 so that fish provides a nutritional benefit beyond simply being another source of protein.

The larger idea that came from the discussion is to introduce a separate nutrient system alongside Nourished's existing five food-group bars.

The existing food groups would remain unchanged and continue handling classifications such as Fruits, Vegetables, Protein, Grains, and Dairy. The new system would instead track individual nutritional properties such as Protein, Carbohydrates, Fat, Fiber, Vitamins, Omega-3, etc.

This would allow two foods in the same food group to have different nutritional profiles.

For example, both beef and fish could count as Protein while fish additionally provides a significant Omega-3 contribution.

A longer-term goal would be to allow nutritional values for cooked foods and recipes to be derived from their ingredients, reducing the need to manually configure every individual recipe. This would need a system for combining and rescaling ingredient nutritional values so that complex recipes don't produce unreasonable totals.

The system should remain configurable and should not replace or invalidate existing food classifications, datapack overrides, or KubeJS overrides.

Potential development path

  • Create separate nutrient framework.

  • Add initial nutrient types.

  • Add fish/Omega-3 values.

  • Display nutrients in the Diet screen.

  • Add optional nutrient HUD.

  • Investigate ingredient-derived recipe nutrition.

  • Develop a scaling/normalization system for recipes.

  • Consider future interaction with nutrient deficiencies.

The overall goal is to make different foods meaningfully different, encouraging dietary variety rather than simply giving every food the same nutritional purpose.

More Nourished enhancements