MariesWiki
Nourished ยท Enhancement

AppleSkin Integration

Design notes Updated 23 Sept 2026 15 min read

โ„นConcept

AppleSkin tells you what food does to Minecraft. Nourished tells you what food does to you.

Explore an optional compatibility layer that combines AppleSkin's vanilla food information with Nourished's nutrition, food groups, calories, and activity systems.


๐ŸŽฏ Goal

Create an optional AppleSkin compatibility module for Nourished that enhances AppleSkin's existing food information with Nourished data.

The goal is not to replace AppleSkin or duplicate its functionality.

Instead:

  • AppleSkin โ†’ Hunger, saturation, exhaustion, food mechanics

  • Nourished โ†’ Food groups, nutrition, calories, dietary state

  • Compatibility โ†’ Present both systems together

AppleSkin should remain completely optional.


๐Ÿ’ก Ideas

1. Nourished Data in AppleSkin's Food Tooltip

When AppleSkin is installed, optionally add Nourished information to the food tooltip.

Example

Steak

+8 Hunger
+12.8 Saturation

Nourished
Protein      โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘
Vegetables   โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘
Fruit        โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘
Grains       โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘
Dairy        โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘

Calories     320 kcal

Configurable display modes

  • Minimal

    • Food groups only
  • Standard

    • Food groups + calories
  • Detailed

    • Food groups + nutrition values + calories
  • Custom

    • User chooses individual values

Potential settings:

โ˜‘ Show Nourished information
โ˜‘ Show food groups
โ˜‘ Show calories
โ˜ Show nutrition values
โ˜ Show classification
โ˜ Show missing food groups

๐ŸŽ 2. Extend AppleSkin's Food Preview

AppleSkin already provides a preview of what eating a food will do to hunger and saturation.

Nourished could extend that concept.

Holding Steak

FOOD PREVIEW

Minecraft
Hunger       +8
Saturation   +12.8

Nourished
Protein      +++
Calories     +320

The player gets a single preview containing both:

What will this food do to my hunger?

What will this food do to my nutrition?


๐Ÿ“Š 3. Nutrition Before โ†’ After Preview

Potentially show how eating the food would affect the player's current nutrition.

Example

Nourished

Protein
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘ โ†’ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘

Grains
โ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ โ†’ โ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘

Fruit
โ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ โ†’ โ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘

Calories
1,240 โ†’ 1,560 kcal

This could be especially useful when the player is trying to fill a specific food group.

Important

This should be preview-only.

Eating the food performs the actual change.

The preview should never modify player state.


๐ŸŽจ 4. Nourished HUD Food Preview

Potentially integrate the AppleSkin concept into Nourished's own HUD.

When holding food, the relevant Nourished bars could temporarily show a preview.

Example

Normally:

Protein
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘

Holding a protein-rich food:

Protein
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘ โ†’ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘

Holding food with little/no protein:

Protein
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘ โ†’ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘

This could be completely optional and configurable.


๐Ÿ”ฅ 5. AppleSkin + Nourished Exhaustion Information

AppleSkin exposes Minecraft's exhaustion mechanics.

Nourished already has activity and calorie systems.

Potential combined display:

FOOD / ENERGY

Minecraft
Exhaustion     2.7 / 4.0

Nourished
Calories      1,840 / 2,400
Activity      Mining

Important distinction

Do not treat exhaustion and calories as the same mechanic.

Instead, expose them together so players can understand both systems.


๐Ÿงญ 6. Command Center Integration

Nourished's Command Center could provide a more detailed analysis of the food currently being held.

Holding Steak

FOOD ANALYSIS

Minecraft
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Hunger       +8
Saturation   +12.8

Nourished
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Protein      +++
Calories     +320

Current Needs
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Protein      โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘
Grains       โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘
Fruit        โ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘
Vegetables   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘

This would make AppleSkin the source for vanilla food mechanics while Nourished provides the nutritional analysis.


๐Ÿงฉ 7. Optional Compatibility Module

AppleSkin should never become a required dependency.

Potential architecture:

Nourished
โ”‚
โ”œโ”€โ”€ Core
โ”œโ”€โ”€ Nutrition
โ”œโ”€โ”€ Calories
โ”œโ”€โ”€ Activity
โ”œโ”€โ”€ UI
โ”‚
โ””โ”€โ”€ Compatibility
    โ””โ”€โ”€ AppleSkin

The compatibility module should only initialize when AppleSkin is present.

Conceptually:

if (ModList.get().isLoaded("appleskin")) {
    AppleSkinCompat.initialize();
}

This keeps the base Nourished experience completely independent.


โš™๏ธ Configuration

Potential Nourished configuration section:

AppleSkin Integration
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

Enable AppleSkin Integration
    [ ON ]

Food Tooltip
    [ ON ]

    Show Food Groups
        [ ON ]

    Show Calories
        [ ON ]

    Show Nutrition Values
        [ OFF ]

    Show Classification
        [ OFF ]

Food Preview
    [ ON ]

    Preview Nutrition
        [ ON ]

    Preview Calories
        [ ON ]

HUD Preview
    [ OFF ]

Command Center Integration
    [ ON ]

Eventually these could be moved into the same in-game configuration/editor infrastructure as the rest of Nourished.


๐Ÿ› ๏ธ Possible To-Do

Make into To-Do Phase 1-6

Phase 1 โ€” Research

  • Look through the current AppleSkin API

  • Determine exactly what food tooltip information AppleSkin exposes

  • Determine how AppleSkin handles food previews

  • Check AppleSkin's supported Minecraft/NeoForge versions

  • Identify the cleanest integration points

  • Verify whether AppleSkin already exposes events/hooks for tooltip modification

  • Determine whether AppleSkin needs to be a compile-time dependency or can be isolated behind a compatibility module


Phase 2 โ€” Compatibility Module

  • Create AppleSkin compatibility package/module

  • Detect AppleSkin at runtime

  • Keep AppleSkin completely optional

  • Prevent AppleSkin classes from being loaded when AppleSkin isn't installed

  • Establish a clean compatibility API

  • Document the compatibility layer

Possible package:

dev.kgbcupcake.nourished.compat.appleskin

Phase 3 โ€” Tooltip Integration

  • Add Nourished food-group information to AppleSkin food tooltips

  • Add optional calorie information

  • Add optional classification information

  • Add configurable display modes

  • Make sure existing AppleSkin information remains untouched

  • Test with vanilla foods

  • Test with modded foods

  • Test with unclassified foods


Phase 4 โ€” Food Preview

  • Detect the food currently being previewed by AppleSkin

  • Calculate Nourished's predicted nutritional change

  • Display predicted food-group changes

  • Display predicted calorie changes

  • Make preview entirely non-mutating

  • Test foods with multiple classifications

  • Test foods with missing nutrition data

  • Test custom/datapack-defined foods


Phase 5 โ€” HUD Integration

  • Investigate whether AppleSkin's preview state can be cleanly consumed

  • Add optional Nourished HUD preview

  • Preview food-group changes

  • Preview calorie changes

  • Integrate with dynamic UI positioning

  • Respect HUD visibility settings

  • Respect F 1 behavior

  • Add configurable preview thresholds/visibility


Phase 6 โ€” Command Center

  • Add Food Analysis section

  • Detect currently held food

  • Display AppleSkin food values

  • Display Nourished values

  • Display current โ†’ predicted nutrition

  • Make the section optional

  • Integrate with existing Command Center UI


๐Ÿงช Things To Test

Vanilla

  • Bread

  • Steak

  • Apple

  • Golden Apple

  • Cake

  • Suspicious Stew

Nourished Classification

  • Single food group

  • Multiple food groups

  • Unclassified food

  • Custom food classification

  • Datapack override

  • KubeJS override

Player State

  • Nearly empty nutrition

  • Nearly full nutrition

  • Completely full nutrition

  • Calorie tracking disabled

  • Nutrition history disabled

  • Creative mode

  • Server-side configuration overrides

  • Client without AppleSkin

  • Server without AppleSkin

  • Client with AppleSkin / server without it

  • Server with AppleSkin / client without it


๐Ÿšง Things To Be Careful About

!Warning

Don't make AppleSkin and Nourished mechanically dependent on each other.

The compatibility layer should be informational.

Avoid:

  • Reimplementing AppleSkin's hunger calculations

  • Replacing AppleSkin's tooltip

  • Changing vanilla hunger behavior

  • Treating saturation as calories

  • Treating exhaustion as calorie expenditure

  • Making AppleSkin required

  • Making AppleSkin data authoritative for Nourished nutrition

Nourished should remain the authority for Nourished data.

AppleSkin should remain the authority for AppleSkin/vanilla food information.


๐ŸŒฑ Potential Future Ideas

These aren't necessary for the first implementation, but could be interesting later.

Food Recommendations

Potentially highlight foods that address current nutritional deficiencies.

Current Need:
Protein

This food:
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘

Good source of Protein

Missing Food Groups

Nourished

โœ“ Protein
โœ“ Grains
โš  Fruit
โš  Vegetables
โœ“ Dairy

Could optionally appear while holding food.

Meal Planning

Eventually the system could make the player think about meals rather than individual foods:

Current Nutrition

Protein      โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘
Grains       โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘
Fruit        โ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘
Vegetables   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘
Dairy        โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘

Then AppleSkin provides the immediate "what happens when I eat this?" information.


โญ Core Concept

The compatibility should ultimately feel like this:

             FOOD
               โ”‚
       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
       โ”‚               โ”‚
    AppleSkin        Nourished
       โ”‚               โ”‚
       โ–ผ               โ–ผ
  Hunger           Food Groups
  Saturation       Nutrition
  Exhaustion       Calories
  Food Mechanics   Dietary State
       โ”‚               โ”‚
       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
               โ–ผ
        Unified Food Info

AppleSkin explains the Minecraft food system.

Nourished explains the nutrition system.

The compatibility layer connects the two.

More Nourished enhancements