Diet - AppleSeed Edition

A banlanced diet brings you benefit!

104

Quick challenge

How far can you run before the mobs catch you?

Diet - AppleSeed Edition

🍎 Diet - AppleSeed Edition

Modpack-Friendly | Modpack-Friendly | Modpack-Friendly | Modpack-Friendly

[]() []() []()

--- Inspired by TheIllusiveC4's project Diet - https://modrinth.com/mod/diet ---

Eat balanced, stay healthy 🥗 | 膳食均衡,健康生活

Bring depth to Minecraft's food system! Get bonuses for eating varied diets, and negative effects from nutritional imbalance.

---

| **English** | **中文** | |---|---|

---

📖 About

Diet is the spiritual successor of the famous Diet mod, completely rewritten from the ground up for Neoforge 1.21.1. This mod introduces a complete nutrition system that encourages players to eat diverse foods instead of relying on golden carrots forever!

> 💡 Features: > - ✅ Data format compatible with original Diet mod > - ✅ 100% Data-driven, zero hardcoding > - ✅ Powerful automatic nutrition calculation engine > - ✅ Developer tools built for modpack creators > - ✅ Complete configuration system > - ✅ Supports all modded foods

---

🎯 Five Food Groups

| Icon | Group | Debuff (0-25%) | Advanced (61-80%) | Max (81-100%) | |:---:|:---:|:---:|:---:|:---:| | 🌾 | Sugars | Slowness I | Max Health +6
Regeneration I | Max Health +6
Attack Damage +1
Regeneration I | | 🥬 | Sugars | Nausea I | Max Health +2
Armor Toughness +3 | Max Health +2
Armor Toughness +4
Haste I | | 🥩 | Sugars | Weakness I | Max Health +4
Armor +2 | Max Health +6
Armor +4
Resistance I | | 🍎 | Sugars | Mining Fatigue I | Max Health +4
Attack Speed +0.1 | Max Health +6
Attack Speed +0.2 | | 🍬 | Sugars | None | Speed II | Speed II
Hunger V |

> 💡 Sugars Special: No effect 0-50%, speed bonus starts at 51% > > 💡 Sugars Special: No effect 0-50%, speed bonus starts at 51%

---

🎮 In-Game Features

📱 User Interface

Press `E` to open inventory → Click the Diet button next to the Recipe Book:

``` ┌─────────────────────────────────────────────┐ │                  Diet                       │ ├─────────────────────────────────────────────┤ │  🌾 Grains   [████████░░░░]  80%            │ │  🥬 Veggies  [███████░░░░░]  70%            │ │  🥩 Protein  [████████████] 100%            │ │  🍎 Fruits   [████░░░░░░░░]  40%            │ │  🍬 Sugars   [█████████░░░]  90%            │ ├─────────────────────────────────────────────┤ │  ✨ Active Effects:                         │ │     Resistance I                            │ │     +6.0 Max Health                        │ │     +4.0 Armor                              │ └─────────────────────────────────────────────┘ ```

💬 Item Tooltips

All edible items show nutrition values:

``` Cake ────── Nutrition:   Grains: +3.2%   Sugars: +15.8%   Protein: +1.5% ```

> 💡 Only nutrients with value > 0 are shown

---

⚙️ Nutrition Mechanics

📉 Nutrition Decay

Your nutrition decays based on your actions:

| Event | All Nutrients Decrease | |:---|:---:| | Per hunger point lost | 0.5% | | Per damage instance taken | 0.1% |

> 💡 This means: even if you max one nutrient, imbalance will quickly bring you down!

💀 Death Mechanics

Controlled by gamerule `keepNutritions`:

- `true`: Reset to 50% on respawn - `true`: Keep nutrition values on death

``` /gamerule keepNutritions true ```

---

🚀 Smart Auto-Calculation Engine

🧠 Recipe-Driven Nutrition

This is the mod's most powerful feature! No manual data files required!

On world load, the mod will: 1. 🔍 Scan all registered recipes 2. 🍳 Identify all items with FoodProperties 3. 🔗 Recursively trace each food's ingredients 4. 🧮 Automatically calculate nutritional composition

📊 Calculation Example

Take Cake for example:

| Ingredient | Count | Nutrition Contribution | |:---|:---:|:---| | Milk Bucket | 3 | Protein | | Sugar | 2 | Sugars | | Egg | 1 | Protein | | Wheat | 3 | Grains |

``` Cake Nutrition = 3×Milk + 2×Sugar + Egg + 3×Wheat ────────────────────────────────────────────────── Result: Grains +3.2% / Sugars +15.8% / Protein +1.5% ```

✅ Supported Recipe Types

- ✅ Crafting (Shaped / Shapeless) - ✅ Furnace / Smoker / Blast Furnace - ✅ Campfire Cooking - ✅ Stonecutting - ✅ Smithing - ✅ Create Processing - ✅ Farmer's Delight Cooking

---

🔧 Modpack Developer Tools

🔄 /reload Live Debugging

Built exclusively for modpack developers!

``` 1. Modify recipes (e.g., KubeJS) 2. Type /reload in-game 3. ⏳ Live progress updates (every 2 sec):    §e[AppleSeed]§r Calculating nutrition: 27/46 (32 succeeded) 4. ✅ Complete:    §a[AppleSeed]§r Nutrition calculation complete! 5. ✅ All data auto-reloaded, no restart needed! ```

> 💡 Reload mode force-overwrites ALL config files, ensuring your changes always apply

🎚️ Four-Tier Data Priority

``` Priority (Highest → Lowest):

    🥇 World Datapacks (world/datapacks)         ↓     🥈 Other Mods' Built-in Data         ↓     🥉 This Mod's Built-in Data         ↓     🏅 Config Auto-Generated Content ```

> 💡 This means: You can override auto-calculated values in datapacks - extremely useful for balance tweaks!

📁 Data Locations

| Tier | Path | |:---|:---| | Auto-Generated | `config/apple_seed_foods/*.json` | | Mod Built-in | `data/*/diet/foods/*.json` | | Datapack | `(datapack)/data/*/diet/foods/*.json` |

📄 Data File Format

```json {   "source_item": "minecraft:cake",   "nutritions": {     "grains": 0.032,     "sugars": 0.158,     "proteins": 0.015   } } ```

---

📐 Configuration

Config location: `config/appleseed-server.toml`

```toml [General_Settings]     # Whether food counts as eaten even when full     ignore_hunger = false

[Initial_Values_Settings]     grains_initial = 0.5     fruits_initial = 0.5     vegetables_initial = 0.5     proteins_initial = 0.5     sugars_initial = 0.5

[Nutritions_Settings]     grains_ranges = [         "0-25:effect(minecraft:slowness,0)",         "61-70:attribute(minecraft:generic.max_health,4.0)",         "..."     ]     ... ```

✏️ Effect Syntax

Each range definition supports any number of stacked effects:

| Syntax | Example | |:---|:---| | Status Effect | `effect(minecraft:regeneration,0)` | | Attribute Modifier | `attribute(minecraft:generic.max_health,6.0)` | | Multiple Effects | `effect(...),attribute(...)` |

---

🏗️ Technical Architecture

🎯 Neoforge 21.1 Native Features

Built exclusively with Neoforge's latest native APIs:

- ✅ ZERO Mixins! ZERO Network Packets! for player data storage - ✅ Native ZERO Mixins! ZERO Network Packets! system - ✅ ZERO Mixins! ZERO Network Packets! data synchronization - ✅ ZERO Mixins! ZERO Network Packets!

> 💡 This means exceptional cross-mod compatibility! Virtually no conflicts!

📊 Performance Features

| Feature | Implementation | |:---|:---| | Async Calculation | ✅ 100% async, no TPS lag | | Cycle Detection | ✅ Auto-detect cyclic recipes | | Duplicate Handling | ✅ Already processed item skip | | Boundary Optimization | ✅ Non-food materials skip recursion |

> 💡 Even 100+ mod large modpacks take only a few seconds!

---

🤝 Compatibility

✅ All modded foods are automatically supported! (Tips: This mod's built-in data is only cover 43 kinds of vanilla foods and ingredients. So you might have to fix some modded ingredients' data by datapack to get all foods caculated correctly)

- ✅ ANY - All foods - ✅ ANY - All processed foods - ✅ ANY - All crops - ✅ ANY mods - ✅ ANY mod that adds food

> 💡 If your food has FoodProperties, we handle it!

---

📝 Credits & License

💝 Acknowledgments

Core design inspired by: - Diet - Original Diet mod

📜 License

This project is licensed under LGPLv3.

---

---

---

📖 关于本模组

简体中文 | Chinese

Diet 是著名膳食均衡模组 Diet 的精神续作,为 Neoforge 1.21.1 完全重写。本模组引入了一套完整的饮食营养系统,鼓励玩家多样化饮食,而不是只吃金胡萝卜!

> 💡 本模组特性: > - ✅ 与原版 Diet 数据格式兼容 > - ✅ 100% 数据驱动,零硬编码 > - ✅ 强大的自动营养计算引擎 > - ✅ 整合包开发者专属调试工具 > - ✅ 完整的配置系统 > - ✅ 支持所有 Mod 食物

---

🎯 五大营养组

| 图标 | 营养组 | 负面效果 (0-25%) | 进阶效果 (61-80%) | 满级效果 (81-100%) | |:---:|:---:|:---:|:---:|:---:| | 🌾 | 糖类 | 缓慢 I | 生命上限 +6
生命恢复 I | 生命上限 +6
攻击伤害 +1
生命恢复 I | | 🥬 | 糖类 | 反胃 I | 生命上限 +2
护甲韧性 +3 | 生命上限 +2
护甲韧性 +4
急迫 I | | 🥩 | 糖类 | 虚弱 I | 生命上限 +4
护甲值 +2 | 生命上限 +6
护甲值 +4
抗性提升 I | | 🍎 | 糖类 | 挖掘疲劳 I | 生命上限 +4
攻击速度 +0.1 | 生命上限 +6
攻击速度 +0.2 | | 🍬 | 糖类 | 无 | 速度 II | 速度 II
饥饿 V |

> 💡 糖类特殊:0-50% 均无效果,51% 开始提供速度加成 > > 💡 糖类特殊:0-50% 均无效果,51% 开始提供速度加成

---

🎮 游戏内功能

📱 用户界面

按 `E` 打开背包 → 点击配方书右侧的 「膳食均衡」按钮

``` ┌─────────────────────────────────────────────┐ │                  膳食均衡                   │ ├─────────────────────────────────────────────┤ │  🌾 谷物     [████████░░░░]  80%            │ │  🥬 蔬菜     [███████░░░░░]  70%            │ │  🥩 蛋白质   [████████████] 100%            │ │  🍎 水果     [████░░░░░░░░]  40%            │ │  🍬 糖类     [█████████░░░]  90%            │ ├─────────────────────────────────────────────┤ │  ✨ 当前激活效果:                          │ │     抗性提升 I                              │ │     +6.0 最大生命值                        │ │     +4.0 护甲值                            │ └─────────────────────────────────────────────┘ ```

💬 物品提示

所有可食用物品都会在 tooltip 中显示营养值:

``` 蛋糕 ────── 营养值:   谷物: +3.2%   糖分: +15.8%   蛋白质: +1.5% ```

> 💡 仅显示数值 > 0 的营养素

---

⚙️ 营养机制

📉 营养衰减

你的营养值会随时间和行动衰减:

| 事件 | 所有营养素减少 | |:---|:---:| | 每失去 1 点饱食度 | 0.5% | | 每受到 1 次伤害 | 0.1% |

> 💡 这意味着:即使你只吃一种食物堆满了营养,也会很快因为营养不均衡吃到负面效果!

💀 死亡机制

通过游戏规则 `keepNutritions` 控制:

- `true`:死亡后重置为 50% 初始值 - `true`:死亡保留当前营养值

``` /gamerule keepNutritions true ```

---

🚀 智能自动计算引擎

🧠 配方驱动的营养计算

这是本模组最强大的特性!不需要手动写任何数据文件!

模组启动时会: 1. 🔍 扫描所有已注册的配方 2. 🍳 识别所有具有食物属性的物品 3. 🔗 递归追溯每个食物的原料 4. 🧮 自动计算每种食物的营养构成

📊 计算示例

以蛋糕为例:

| 原料 | 数量 | 营养素贡献 | |:---|:---:|:---| | 牛奶桶 | 3 | 蛋白质 | | 糖 | 2 | 糖分 | | 鸡蛋 | 1 | 蛋白质 | | 小麦 | 3 | 谷物 |

``` 蛋糕营养 = 3×牛奶 + 2×糖 + 鸡蛋 + 3×小麦 ──────────────────────────────────────── 最终产出:谷物 +3.2% / 糖分 +15.8% / 蛋白质 +1.5% ```

✅ 支持的配方类型

- ✅ 工作台合成(Shaped / Shapeless) - ✅ 熔炉 / 烟熏炉 / 高炉 - ✅ 营火烹饪 - ✅ 切石机 - ✅ 锻造台 - ✅ 机械动力加工 - ✅ 农夫乐事烹饪

---

🔧 整合包开发者工具

🔄 /reload 动态调试

这是为整合包作者专门设计的功能!

``` 1. 修改配方(如 KubeJS) 2. 游戏内输入 /reload 3. ⏳ 实时进度显示(每 2 秒):    §e[苹果籽]§r 正在计算食物营养:27/46 (32 项成功) 4. ✅ 完成时:    §a[苹果籽]§r 食物营养计算完成! 5. ✅ 所有数据自动重载,不需要重启游戏! ```

> 💡 重载模式会强制覆盖所有已生成的 config 文件,需要通过使用KubeJS挂载数据文件或者数据包的方式来确保你的修改总是生效

🎚️ 四层数据优先级

``` 优先级从高到低:

    🥇 世界数据包 (world/datapacks)         ↓     🥈 其他模组内置数据         ↓     🥉 本模组内置数据         ↓     🏅 Config 自动生成内容 ```

> 💡 这意味着:你可以在数据包中定义的营养值会覆盖自动计算的结果,对于平衡调整非常有用!

📁 数据位置

| 层级 | 路径 | |:---|:---| | 自动生成 | `config/apple_seed_foods/*.json` | | 模组内置 | `data/*/diet/foods/*.json` | | 数据包 | `(datapack)/data/*/diet/foods/*.json` |

📄 数据文件格式

```json {   "source_item": "minecraft:cake",   "nutritions": {     "grains": 0.032,     "sugars": 0.158,     "proteins": 0.015   } } ```

---

---

❤️ Enjoy your healthy diet!

*Made with 💚 for the Minecraft modding community*

[]() []() []()

ADS