🍎 Diet - AppleSeed Edition
Neoforge 1.21.1 | Data-Driven | Fully Configurable | Modpack-Friendly
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 - AppleSeed Edition 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%) |
| 🌾 |
Grains |
Slowness I |
Max Health +6 Regeneration I |
Max Health +6 Attack Damage +1 Regeneration I |
| 🥬 |
Vegetables |
Nausea I |
Max Health +2 Armor Toughness +3 |
Max Health +2 Armor Toughness +4 Haste I |
| 🥩 |
Protein |
Weakness I |
Max Health +4 Armor +2 |
Max Health +6 Armor +4 Resistance I |
| 🍎 |
Fruits |
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 |
💡 26% - 60%: No effects for all groups
💡 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:
💬 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:
false (Default): 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:
- 🔍 Scan all registered recipes
- 🍳 Identify all items with FoodProperties
- 🔗 Recursively trace each food's ingredients
- 🧮 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
{
"source_item": "minecraft:cake",
"nutritions": {
"grains": 0.032,
"sugars": 0.158,
"proteins": 0.015
}
}
📐 Configuration
Config location: config/appleseed-server.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:
- ✅ NBT Attachment for player data storage
- ✅ Native AddReloadListener system
- ✅ OnDatapackSyncEvent 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!
🆚 vs Original Diet Mod
| Feature |
Diet (Forge) |
Diet - AppleSeed Edition |
| Core Nutrition System |
✅ |
✅ |
| Data Driven |
✅ |
✅ |
| Recipe Auto-Calculation |
❌ |
✅ |
| /reload Live Reload |
❌ |
✅ |
| Progress Display |
❌ |
✅ |
| Four-Tier Priority System |
❌ |
✅ |
| Vanilla Food Data Built-in |
❌ |
✅ |
| Damage-Triggered Decay |
❌ |
✅ |
| Neoforge 1.21.1 Support |
❌ |
✅ |
| ZERO Mixins |
❌ |
✅ |
🤝 Compatibility
✅ All modded foods are automatically supported!
- ✅ Farmer's Delight - All foods
- ✅ Create - All processed foods
- ✅ Pam's HarvestCraft - All crops
- ✅ More Foods mods
- ✅ ANY mod that adds food
💡 If your food has FoodProperties, we handle it!
📝 Credits & License
💝 Acknowledgments
Core design inspired by:
- TheIllusiveC4 - Original Diet mod
📜 License
This project is licensed under LGPLv3.
📖 关于本模组
**简体中文 | Chinese**
Diet - AppleSeed Edition 是著名膳食均衡模组 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 |
💡 26% - 60%:所有营养组均无效果
💡 糖类特殊:0-50% 均无效果,51% 开始提供速度加成
🎮 游戏内功能
📱 用户界面
按 E 打开背包 → 点击配方书右侧的 「膳食均衡」按钮:
💬 物品提示
所有可食用物品都会在 tooltip 中显示营养值:
蛋糕
──────
营养值:
谷物: +3.2%
糖分: +15.8%
蛋白质: +1.5%
💡 仅显示数值 > 0 的营养素
⚙️ 营养机制
📉 营养衰减
你的营养值会随时间和行动衰减:
| 事件 |
所有营养素减少 |
| 每失去 1 点饱食度 |
0.5% |
| 每受到 1 次伤害 |
0.1% |
💡 这意味着:即使你只吃一种食物堆满了营养,也会很快因为营养不均衡吃到负面效果!
💀 死亡机制
通过游戏规则 keepNutritions 控制:
false (默认):死亡后重置为 50% 初始值
true:死亡保留当前营养值
/gamerule keepNutritions true
🚀 智能自动计算引擎
🧠 配方驱动的营养计算
这是本模组最强大的特性!不需要手动写任何数据文件!
模组启动时会:
- 🔍 扫描所有已注册的配方
- 🍳 识别所有具有食物属性的物品
- 🔗 递归追溯每个食物的原料
- 🧮 自动计算每种食物的营养构成
📊 计算示例
以蛋糕为例:
| 原料 |
数量 |
营养素贡献 |
| 牛奶桶 |
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 文件,确保你的修改总是生效
🎚️ 四层数据优先级
优先级从高到低:
🥇 世界数据包 (world/datapacks)
↓
🥈 其他模组内置数据
↓
🥉 本模组内置数据
↓
🏅 Config 自动生成内容
💡 这意味着:你可以在数据包中定义的营养值会覆盖自动计算的结果,对于平衡调整非常有用!
📁 数据位置
| 层级 |
路径 |
| 自动生成 |
config/apple_seed_foods/*.json |
| 模组内置 |
data/*/diet/foods/*.json |
| 数据包 |
(datapack)/data/*/diet/foods/*.json |
📄 数据文件格式
{
"source_item": "minecraft:cake",
"nutritions": {
"grains": 0.032,
"sugars": 0.158,
"proteins": 0.015
}
}