
Nourished
Nourished is a nutrition mod for NeoForge 1.21.1 that tracks six food groups, rewards a varied diet, and applies balance buffs and neglect penalties. Includes an on-screen HUD, diet screen, and configurable modules for servers and modpacks.
Screenshots






About this Mod

I got sick of Minecraft's food system, so I built Nourished, a nutrition mod for NeoForge 1.21.1 that tracks five food groups, rewards a varied diet, and applies balance buffs and neglect penalties when you neglect them.
Eat a balanced diet, watch your bars on the HUD, open the diet screen for the full picture, and tune every module for your server or modpack.
📦 New as of this release: Nourished now requires MariesLib, a
companion mod containing shared infrastructure (scanner, registries,
compat framework, KubeJS bindings). This split lets that
infrastructure be reused across my other mods and keeps Nourished
itself focused on nutrition gameplay. Install both, see Upgrading
notes in the changelog.
❤️ What you gain
When all five food groups are above 75%, you get:
- Health Boost I: passively while balanced
- Regeneration I: passively while balanced
Let any single group drop below 25% and a debuff kicks in:
| Group | Neglect Penalty |
|---|---|
| 🌾 Grains | Weakness I |
| 🥦 Vegetables | Slowness I |
| 🥩 Proteins | Mining Fatigue I |
| 🍎 Fruits | Unluck I |
| 🥛 Dairy | — |
Dairy has no penalty effect by default — it's tracked and affects your balance score but doesn't apply a debuff when depleted. This is configurable, and a Sugars group is planned for a future update.
🏆 Milestones & Achievements
Eating consistently pays off over time. Nourished tracks cumulative intake per food group and grants milestone rewards as you build healthy habits.

Each food group has its own three-tier progression, beginner, journeyman, master, plus a hidden "perfectly balanced" milestone for maintaining all Five groups at once. Milestones grant a temporary buff and unlock an entry in your Advancements tab.
Milestone goals, reward effects, and durations are fully configurable, and modpack authors can register entirely custom milestones through datapacks.
🍽️ Eating at full hunger
Vanilla hunger prevents eating at full hunger. Nourished lets you still eat and gain nutrition even when your hunger bar is full, light foods like berries and snacks can be eaten for nutrients without restoring hunger, while heavy meals follow vanilla rules by default.
Both behaviors are configurable: enableBlockHeavySources and enableBlockLightSource give server admins full control.
🥩 Raw Food & Gut Health
Eating raw or undercooked food has consequences. Nourished tracks a gut health value for every player that degrades when you eat raw food and recovers over time from cooked food and dietary variety.
Raw foods are classified into four tiers:
| Tier | Effect |
|---|---|
| Fine | No penalty |
| Mild | Minor debuff, short duration |
| Medium | Moderate debuff, longer duration |
| Severe | Strong debuff, extended duration |
Eating the same raw food repeatedly within a memory window increases sensitivity, the more you do it, the worse the penalty gets. Gut health recovers passively and faster when you eat cooked food and maintain dietary diversity.
Resistance can be built up over time, reducing penalty scale. Everything, tiers, durations, nutrient penalties, recovery rates, is configurable via config/nourished/raw_food.json and server module toggles.
📺 The HUD

Press H in game to enter edit mode. Drag it anywhere, resize it, anchor it to any corner. Zero bars hide automatically so it never feels cluttered.
Five color-coded bars sit on screen while you play. You always know where you stand without opening anything.
📋 The Diet Screen
Open your inventory and click the Nourished icon to pull up your full nutrition overview.

📸 Screenshots taken with PureBDCraft resource pack. UI works on vanilla textures but will appear in the default Minecraft style.
| What you see | |
|---|---|
| Trend arrows | Whether each group is rising or falling |
| Balance score | How evenly spread your nutrition is |
| Active effects | What your current diet is doing to you |
| Calorie tracking | Daily intake at a glance |
| Recently eaten | What you've had lately |
| Neglected categories | What you should probably eat next |
🍽️ Variety is always rewarded
Eating the same food repeatedly becomes less effective over time, so rotating what you eat always pays off. Memory fades naturally, so foods you've avoided recover their full value on their own.
🤝 Mod Compatibility
Nourished works with modded food items that use vanilla FoodProperties. You do not need to write integration code for basic nutrition tracking.
Bundled compatibility data helps foods from popular kitchen and farming mods show up on your nutrient bars out of the box. For edge cases, server owners can adjust behavior through config files and tags.
| Mod | Status |
|---|---|
| Farmer's Delight | ✅ Supported |
| Pam's HarvestCraft 2 | ✅ Supported |
| Create: Food | ✅ Supported |
| Croptopia | ✅ Supported |
| Farmer's Croptopia | ✅ Supported |
| Croptopia Delight | ✅ Supported |
| Farm & Charm | ✅ Supported |
| Ender's Delight | ✅ Supported |
| L_Ender's Delight | ✅ Supported |
| Ars Delight | ✅ Supported |
| Autochef's Delight | ✅ Supported |
| Spice of Life: Onion | ✅ Integration |
| KubeJS | ✅ Scripting hooks |
| Peak Stamina | ✅ Nutrition affects stamina |
| JEI / REI / EMI | ✅ Tooltips in recipe viewers |
| Legendary Survival Overhaul | ⚠️ Effects disabled (LSO takes priority) |
| Other mods with edible food items | ✅ Works with standard food items |
🔧 Configurable for your server
Everything ships with sensible defaults. Server owners and modpack authors can tune behavior without touching Java:
- Toggle individual modules on or off (HUD, decay, effects, gut health, and more)
- Adjust decay rates and thresholds per nutrient
- Add, remove, or replace effects via
config/nourished/effects.json - Tune eating rules with
enableBlockHeavySourcesandenableBlockLightSource - Edit food values, overrides, colors, scanner spec, and compat settings under
config/nourished/ - Save and share full config snapshots with a single share code
🔍 The Food Scanner
- Run /nourished scan_analysis in-game to analyze all loaded food items and generate classification reports under config/nourished/scanner_analysis/.
The scanner produces:
multi_value_recommendations.json — foods confidently assigned to one or more nutrient groups
unassigned_sources.txt — foods that couldn't be classified automatically and need manual review
scanner_metrics.txt — summary stats across the full item registry
Copy recommended tag entries into your datapack to make classifications permanent.
Unassigned items can be tagged manually using the example above.
📁 Data & overrides
Most customization happens in config/nourished/ after first launch, effects, food values, overrides, colors, presets, and module locks.
Nourished also ships bundled defaults under data/nourished/ (nutrient tags, compat entries, presets). Advanced pack authors can override some JSON through datapacks where supported; config files remain the primary path for server tuning.
The in-game Food Scanner (config screen) can help inspect and assign foods in singleplayer and write generated tag files into your world's datapack folder for manual review.
Example — adding a food to a nutrient tag
Create the following file inside your datapack:
your_datapack/
data/
nourished/
tags/
item/
nutrients/
vegetables.json
{
"replace": false,
"values": [
{
"id": "pamhc2foodextended:honeyglazedcarrotsitem",
"required": false
}
]
}
"replace": false means your entries merge with Nourished's defaults, nothing gets overwritten.
🟨 KubeJS Support
Optional KubeJS integration for modpack authors. Requires KubeJS on the pack. Scripts go in kubejs/server_scripts/ and kubejs/startup_scripts/.
KubeJS support is split across two layers:
- MarieLib provides generic value tracking events (
MarieEvents.*) available to any MarieLib-based mod - Nourished provides nutrition-specific aliases (
NourishedEvents.*) on top
Server scripts — nutrition events:
NourishedEvents.nutrientChanged(event => {
if (event.nutrientKey === 'proteins' && event.newValue < 0.25) {
event.player.tell('Eat some protein!')
}
})
NourishedEvents.nutrientModifier(event => {
if (event.nutrientKey === 'vegetables') {
event.amount *= 2
}
})
NourishedEvents.foodEaten(event => {
event.nutrientDeltas.forEach((value, key) => {
console.log(key + ': ' + value)
})
})
Also available: nutrientCritical, nutrientExcess, rawFoodPenalty, gutHealthChanged.
sourceConsumedis a generic MarieLib event and does not exposenutrientKeyornewValue— usenutrientChangedinstead.
Server scripts — generic MarieLib events:
MarieEvents.valueChanged(event => {
console.log(event.playerId + ' ' + event.valueKey + ': ' + event.newValue)
})
MarieEvents.valueDeltaModifier(event => {
if (event.valueKey === 'proteins') {
event.amount *= 1.5
}
})
Also available: valueCritical, valueExcess, sourceConsumed, decayTick, playerSynced.
Startup scripts — register custom nutrients:
NourishedAPI.registerNutrient({
id: 'omega3',
displayName: 'Omega-3',
color: 0x4AA3FF,
decayRate: 0.0012,
critical: 0.12,
low: 0.30,
excess: 0.90
})
See API.md on GitHub for the full event and binding reference.
⚙️ Requirements
| Minecraft | 1.21.1 |
| NeoForge | 21.1.x |
| MariesLib | v0.1.0-beta.4+ (new dependency — see note above) |
| Cloth Config | required at runtime |
| Patchouli | optional (in-game guide) |
| Java | 21 |
Support & feedback
Found a bug, have a suggestion, or need help?
- GitHub Issues: report bugs and feature requests
- Discord: https://discord.gg/EZnFJsfQup, support and development updates
Please include logs, screenshots, or reproduction steps when reporting issues.
Roadmap
Nourished is focused on nutrition gameplay: balance, effects, gut health, HUD/UX, multiplayer sync, and modpack-friendly config.
Planned (Nourished)
- Spice of Life (Onion) integration
- Extended Farmers Delight hooks
- Quest and progression integration
- Curios / accessories integration
- More preset profiles for casual vs hardcore servers
MIT licensed — free to use in modpacks, forks, and addons.
Available Versions
How to Install Nourished on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set neoforge Loader
In the panel under "Egg", select the neoforge loader and matching Minecraft version (1.21.1).
Install Mod
Open the mod browser in the dashboard and search for "Nourished". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.21.1
Server-side
✓ RequiredRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
Nourished server crashes on startup – what to do?
Most common cause: wrong neoforge version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21.1). You can switch loaders with one click in the panel.
Is Nourished compatible with neoforge?
Nourished officially supports neoforge for Minecraft 1.21.1. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with Nourished – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Nourished consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Similar Mods
Rent Modded Server
Install Nourished with just one click on your server.