Modscraper Modscraper Minecraft
Nourished logo

Nourished

Mod

“A lightweight nutrition system that rewards balanced diets without turning survival into micromanagement.”

Type

Mod

Modrinth Downloads

568

Modrinth ID

gXy6YNys

Last Updated

Jun 26, 2026

Description

Banner

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.

Milestone Tree

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

In-Game 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.

Main GUI

📸 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 enableBlockHeavySources and enableBlockLightSource
  • 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.

sourceConsumed is a generic MarieLib event and does not expose nutrientKey or newValue — use nutrientChanged instead.

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?

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.

Compatibility

Mod Loaders

Neoforge

Game Versions

1.21.1

Screenshots

Similar Mods

External Resources