Skip to content

Datapack Support

Cursor Agent edited this page Jun 10, 2026 · 5 revisions

Datapack Support

Nourished can be extended through standard Minecraft datapacks. This page covers Nourished-specific datapack formats.

For generic MarieLib datapack loaders (source_classifications, compat, source_families, module_locks), see the MarieLib Datapack Support page.


πŸ“ Folder Structure

Nourished-specific datapack files live under:

data/<your_namespace>/nourished/

Example:

data/mypack/nourished/nutrients/spices.json
data/mypack/nourished/effects/my_effect.json

🏷️ Nutrient Tags (most common)

The fastest way to classify food is through item tags:

data/<ns>/nourished/tags/item/nutrients/<key>.json
{
  "values": [
    "mymod:starfruit",
    "mymod:dragonfruit"
  ]
}

Valid keys match registered nutrients: fruits, vegetables, proteins, grains, dairy, or any custom nutrient you've added.

See Community Tags for the full tag reference.


πŸ§ͺ Custom Nutrients

Path: data/<ns>/nourished/nutrients/<id>.json

{
  "nourished_schema_version": 1,
  "display_name": "Spices",
  "color": -3140895,
  "default_decay_rate": 0.0005,
  "critical_threshold": 0.1,
  "low_threshold": 0.25,
  "excess_threshold": 0.9,
  "beneficial": true,
  "icon": "minecraft:dried_kelp",
  "tags": ["nourished:nutrients/spices"]
}

✨ Custom Effects

Path: data/<ns>/nourished/effects/<id>.json

{
  "nourished_schema_version": 1,
  "nutrient_key": "proteins",
  "threshold": 0.2,
  "threshold_type": "LOW",
  "effect_id": "minecraft:weakness",
  "amplifier": 0,
  "duration": 300
}
threshold_type Meaning
LOW / CRITICAL Penalty when nutrient is below threshold
BONUS / EXCESS Buff when nutrient is above threshold

You can also edit config/nourished/effects.json directly or use the in-game Effect Builder.


πŸ”’ Module Locks

Lock Nourished config settings server-side:

{
  "nourished_schema_version": 1,
  "locked": ["enableEffects", "enableRawFoodPenalty"],
  "server_only": ["bonusEffectThreshold", "penaltyEffectThreshold"]
}

Path: data/<ns>/nourished/module_locks/<id>.json


πŸ’‘ Tips

  • Test with /reload then /nourished reload.
  • Always include "nourished_schema_version": 1.
  • Prefer nutrient tags over per-item JSON when possible.
  • Run /nourished diagnostics for validation β€” see MarieLib Validation Reports.

πŸ“š Related Pages

Clone this wiki locally