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.