Diet - AppleSeed Edition
ModA banlanced diet brings you benefit!
Type
Mod
Modrinth Downloads
997
Modrinth ID
uwTJPjNt
Last Updated
Jun 26, 2026
Description
🍎 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.
为 Minecraft 的饮食系统引入深度机制!通过多样化饮食获得奖励,饮食失衡时获得负面效果。
Inspired by TheIllusiveC4's project Diet — https://modrinth.com/mods/diet
灵感来自 TheIllusiveC4 的项目 Diet — https://modrinth.com/mods/diet
📖 About | 关于
Diet — AppleSeed Edition is the spiritual successor of the famous Diet mod, completely rewritten from the ground up for Neoforge 1.21.1.
Diet — AppleSeed Edition 是著名膳食均衡模组 Diet 的精神续作,为 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 | 特性:
- ✅ 100% Data-driven, zero hardcoding | 100% 数据驱动,零硬编码
- ✅ Powerful automatic nutrition calculation engine | 强大的自动营养计算引擎
- ✅ Complete configuration system with per-group overrides | 完整的配置系统,支持每组分段覆盖
- ✅ Smart ingredient tracing via Minecraft recipes | 通过 Minecraft 配方智能追溯原料
- ✅ Supports all modded foods | 支持所有 Mod 食物
- ✅ Multi-language support | 多语言支持
- ✅ Soft dependency — works without FTB Library / SomeAssemblyRequired | 软依赖 — 不安装 FTB Library / SomeAssemblyRequired 也能正常运行
- ✅ Block food support (e.g., Cake) with per-bite nutrition | 方块食物支持(如蛋糕),按口计算营养值
- ✅ Simulated recipes for custom nutrition calculations | 模拟配方系统,支持自定义营养计算
- ✅ Configurable recipe recursion depth for non-food ingredients | 可配置的非食物原料配方递归深度
🎯 Five Food Groups | 五大营养组
Icon Group Debuff (0-25%) Advanced (61-70%) Max (71-80%) Peak (81-100%) 🌾 Grains Slowness I Max Health +4 Max Health +6Regeneration I Max Health +6Attack Damage +1Regeneration I 🌾 谷物 缓慢 I 生命上限 +4 生命上限 +6生命恢复 I 生命上限 +6攻击伤害 +1生命恢复 I 🥬 Vegetables Nausea I Max Health +2Armor Toughness +3 Max Health +2Armor Toughness +4 Max Health +2Armor Toughness +4Haste I 🥬 蔬菜 反胃 I 生命上限 +2护甲韧性 +3 生命上限 +2护甲韧性 +4 生命上限 +2护甲韧性 +4急迫 I 🥩 Protein Weakness I Max Health +2Armor +1 Max Health +4Armor +2 Max Health +6Armor +4Resistance I 🥩 蛋白质 虚弱 I 生命上限 +2护甲值 +1 生命上限 +4护甲值 +2 生命上限 +6护甲值 +4抗性提升 I 🍎 Fruits Mining Fatigue I Max Health +2Attack Speed +0.05 Max Health +4Attack Speed +0.1 Max Health +6Attack Speed +0.2 🍎 水果 挖掘疲劳 I 生命上限 +2攻击速度 +0.05 生命上限 +4攻击速度 +0.1 生命上限 +6攻击速度 +0.2 🍬 Sugars None Speed II Speed II Speed IIHunger V 🍬 糖类 无 Speed II Speed II Speed II饥饿 V💡 26% – 60%: No effects for all groups. | 26% – 60%:所有营养组均无效果。
💡 Sugars special: No effect at 0–50%, speed bonus starts at 51%. | 糖类特殊:0–50% 无效果,51% 起提供速度加成。
🎮 In-Game Features | 游戏内功能
📱 Diet Balance Screen | 膳食均衡界面
Open the diet screen via:
- Inventory Button: Press E → click the Diet button next to the Recipe Book (default mode)
- FTB Library Sidebar: Button appears in the FTB Library sidebar (ftb_compact mode, requires FTB Library)
- Key Binding: Bind a key to "Open Diet GUI" in Controls → AppleSeed category
- Command: /diet screen (no permission required)
打开膳食均衡界面:
- 物品栏按钮:按 E → 点击配方书旁的「膳食均衡」按钮(默认模式)
- FTB Library 侧边栏:按钮出现在 FTB Library 侧边栏中(ftb_compact 模式,需安装 FTB Library)
- 按键绑定:在 控制 → AppleSeed 分类中为「Open Diet GUI」绑定按键
- 指令:/diet screen(无需权限)
The screen supports pagination when there are more than 5 nutrition groups.
营养组超过 5 个时,界面支持分页浏览。
🔘 Entrance Visibility Modes | 入口可见性模式
Controlled via config entrance_visibility or /diet config set entranceVisibility <mode>:
Mode Behavior default Shows a Diet button in the inventory screen, next to the Recipe Book ftb_compact Uses FTB Library's sidebar button (requires FTB Library installed). Falls back to default if FTB Library is absent invisible Hides all entrance buttons (still accessible via key bind or /diet screen command)通过配置 entrance_visibility 或 /diet config set entranceVisibility <mode> 控制:
模式 行为 default 在物品栏配方书旁显示「膳食均衡」按钮 ftb_compact 使用 FTB Library 侧边栏按钮(需安装 FTB Library)。未安装时自动回退为 default invisible 隐藏所有入口按钮(仍可通过按键绑定或 /diet screen 指令打开)💡 Switching to/from ftb_compact mode automatically triggers /reload to refresh FTB Library's sidebar.
💡 切换至/出 ftb_compact 模式时自动执行 /reload 以刷新 FTB Library 侧边栏。
💬 Item Tooltips | 物品提示
All edible items show nutrition values when hovered. | 所有可食用物品在鼠标悬停时显示营养值。
Cake / 蛋糕 ────── Nutrition: / 营养值: Grains: +3.2% / 谷物: +3.2% Sugars: +15.8% / 糖类: +15.8% Protein: +1.5% / 蛋白质: +1.5%💡 Only nutrients with value > 0 are shown. | 仅显示值大于 0 的营养素。 💡 SomeAssemblyRequired sandwiches are fully supported. | 完整支持 SomeAssemblyRequired 的三明治。
🧱 Block Foods | 方块食物
Block foods like Cake are fully supported. Nutrition is calculated per bite. | 方块食物(如蛋糕)已完全支持,营养值按口计算。
// diet/blocks/cake.json { "source_block": "minecraft:cake", "bites": 7, "nutritions": { "grains": 0.03, "sugars": 0.15, "proteins": 0.02 } }Each bite of cake adds 1/7th of the total nutrition values. | 每口蛋糕增加总营养值的 1/7。
⚙️ Nutrition Mechanics | 营养机制
📉 Nutrition Decay | 营养衰减
Your nutrition decays based on your actions: | 营养值会根据玩家行为衰减:
Event / 事件 Decay Amount / 衰减量 Per hunger point lost / 每失去 1 点饱食度 0.5% × decay_multiplier Per damage instance taken / 每受到 1 次伤害 0.1% × decay_multiplier🛡️ Decay Exemptions | 衰减豁免
Each group can be configured to ignore decay from specific sources:
Config Field Effect ignore_hunger Nutrition does NOT decay when hunger decreases ignore_attack Nutrition does NOT decay when taking damage每个营养组可配置忽略特定来源的衰减:
配置字段 效果 ignore_hunger 饱食度降低时该营养素不减少 ignore_attack 受到攻击时该营养素不减少These can be set per-group in appleseed-common.toml under [Group_Overrides].
可在 appleseed-common.toml 的 [Group_Overrides] 中按组设置。
📈 Nutrition Gain | 营养获取
When you eat a food item, nutrition values are added based on the food's nutritional composition, multiplied by the group's gain_multiplier.
食用食物时,根据食物的营养成分增加营养值,乘以该组的 gain_multiplier。
💀 Death Mechanics | 死亡机制
Controlled by gamerule keepNutritions: | 由游戏规则 keepNutritions 控制:
- false (Default): Reset to initial values on respawn. | false(默认):重生时重置为初始值。
- true: Keep nutrition values on death. | 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 | 识别所有带有 FoodProperties 的物品
- 🔗 Recursively trace each food's ingredients | 递归追溯每个食物的原料
- 🧮 Automatically calculate nutritional composition | 自动计算营养成分
- 💾 Save results to config/apple_seed_foods/ as JSON cache | 将结果保存为 JSON 缓存至 config/apple_seed_foods/
📊 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 蛋糕营养值 = 3×牛奶 + 2×糖 + 鸡蛋 + 3×小麦 ────────────────────────────────────────────────── Result: Grains +3.2% / Sugars +15.8% / Protein +1.5% 结果: 谷物 +3.2% / 糖类 +15.8% / 蛋白质 +1.5%✅ Supported Recipe Types | 支持的配方类型
- ✅ Crafting (Shaped / Shapeless) | 合成配方(有序 / 无序)
- ✅ Furnace / Smoker / Blast Furnace | 熔炉 / 烟熏炉 / 高炉
- ✅ Campfire Cooking | 营火烹饪
- ✅ Stonecutting | 切石机
- ✅ Smithing | 锻造
📁 Data Loading Priority | 数据加载优先级
When multiple sources define nutrition for the same food, the highest priority wins:
1. appleseed_data.json ← Highest priority 2. Datapack diet/foods/*.json ← Can override built-in 3. Other mods' diet/foods/*.json 4. Appleseed built-in foods 5. config/apple_seed_foods/*.json ← Auto-generated (lowest priority)当多个来源为同一食物定义营养值时,高优先级覆盖低优先级:
1. appleseed_data.json ← 最高优先级 2. 数据包 diet/foods/*.json ← 可覆盖内置 3. 其他模组的 diet/foods/*.json 4. AppleSeed 内置食物数据 5. config/apple_seed_foods/*.json ← 自动生成(最低优先级)🧪 Simulated Recipes | 模拟配方
Simulated recipes allow you to define custom nutrition calculations for items that don't have actual crafting recipes, or to override existing recipe-based calculations.
模拟配方允许你为没有实际合成配方的物品定义自定义营养计算,或覆盖现有的基于配方的计算。
// data/appleseed/recipes/simulate/custom_food.json { "type": "appleseed:simulate_recipe", "inputs": [ { "item": "minecraft:wheat", "count": 3 }, { "item": "minecraft:sugar", "count": 2 } ], "outputs": [ { "item": "minecraft:cake", "count": 1 } ] }Simulated recipes support both items and fluids as inputs:
模拟配方支持物品和流体作为输入:
{ "type": "appleseed:simulate_recipe", "inputs": [ { "fluid": "minecraft:water", "count": 1000 }, { "item": "minecraft:wheat", "count": 2 } ], "outputs": [ { "item": "minecraft:bread", "count": 1 } ] }💡 Simulated recipes are processed alongside vanilla recipes during auto-calculation. | 模拟配方在自动计算时与原版配方一起处理。
🔧 Commands | 指令
Nutrition Management | 营养管理
Command / 指令 Permission Description / 描述 /diet nutritions query <player> 2 View a player's nutrition values / 查看玩家的营养值 /diet nutritions set <player> <id> <0.0–1.0> 2 Set a specific nutrition value / 设置特定营养值 /diet nutritions add <player> <id> <0.0–1.0> 2 Add to a nutrition value (capped at 1.0) / 增加营养值(上限 1.0) /diet nutritions remove <player> <id> <0.0–1.0> 2 Remove from a nutrition value (capped at 0.0) / 减少营养值(下限 0.0)Item Nutrition Management | 物品营养管理
Command / 指令 Permission Description / 描述 /diet item <group> <value> 2 Set nutrition for the held item / 设置手持物品的营养值 /diet item <group> <value> <item> 2 Set nutrition for a specific item / 设置特定物品的营养值Block Nutrition Management | 方块营养管理
Command / 指令 Permission Description / 描述 /diet block <block> <group> <value> 2 Set nutrition for a block food / 设置方块食物的营养值 /diet block <block> <group> <value> <bites> 2 Set nutrition with custom bite count / 设置方块食物的营养值和可食用次数Configuration | 配置管理
Command / 指令 Permission Description / 描述 /diet config set ignoreHunger <true|false> 2 Toggle whether eating when full counts nutrition / 切换饱食度满时是否计算营养 /diet config set entranceVisibility <mode> 2 Set button visibility mode: invisible / default / ftb_compact / 设置按钮可见性模式 /diet config set craftChainSearchDepth <depth> 2 Set recipe recursion depth for non-food ingredients / 设置非食物原料的配方递归搜索深度Cache Management | 缓存管理
Command / 指令 Permission Description / 描述 /diet cache clear 4 Delete all auto-generated nutrition files / 删除所有自动生成的营养文件 /diet cache regenerate 4 Clear cache + execute /reload to rebuild / 清空缓存 + 执行 /reload 重建 /diet cache reload 2 Execute /reload to reload all nutrition data / 执行 /reload 重新加载全部营养数据Screen | 界面
Command / 指令 Permission Description / 描述 /diet screen None Open the Diet Balance screen / 打开膳食均衡界面💡 All nutrition ID arguments support Tab completion. | 所有营养 ID 参数都支持 Tab 补全。 💡 Entrance visibility arguments support Tab completion. | 入口可见性参数支持 Tab 补全。
⚙️ Configuration File | 配置文件
Located at config/appleseed-common.toml.
位置:config/appleseed-common.toml。
[General_Settings]
Key Type Default Description ignore_hunger bool false Whether eating when full still counts nutrition / 饱食度满时食用是否还计算营养 entrance_visibility string "default" Button visibility: invisible, default, ftb_compact / 按钮可见性模式 craft_chain_search_depth int 3 Maximum recursion depth for non-food ingredients in recipe tracing / 配方追溯中非食物原料的最大递归深度[Group_Overrides]
Override group-level behavior. Each preset group has:
- *_is_negative — Nutrition from this group is ignored during auto-calculation
- *_ignore_attack — Nutrition does NOT decay when taking damage
- *_ignore_hunger — Nutrition does NOT decay when hunger decreases
覆盖营养组级别的行为。每个预设组拥有:
- *_is_negative — 自动计算时忽略该营养组的贡献
- *_ignore_attack — 受到攻击时该营养素不衰减
- *_ignore_hunger — 饱食度降低时该营养素不衰减
Example:
[Group_Overrides] grains_is_negative = false grains_ignore_attack = false grains_ignore_hunger = false fruits_is_negative = false fruits_ignore_attack = false fruits_ignore_hunger = false vegetables_is_negative = false vegetables_ignore_attack = false vegetables_ignore_hunger = false proteins_is_negative = false proteins_ignore_attack = false proteins_ignore_hunger = false sugars_is_negative = false sugars_ignore_attack = false sugars_ignore_hunger = false[Nutritions_Settings] > [Effects_Override]
Override effect ranges per group. Leave empty (default) to use the data file definitions.
覆盖每个营养组的效果范围。留空(默认)则使用数据文件中的定义。
[Nutritions_Settings.Effects_Override] # grains_ranges = ["0-25:effect(minecraft:slowness,0)"] # fruits_ranges = ["0-25:effect(minecraft:mining_fatigue,0)"][Nutritions_Settings]
Key Type Default Description grains_initial double 0.5 Initial nutrition value for new players / 新玩家谷物初始值 fruits_initial double 0.5 Initial nutrition value for new players / 新玩家水果初始值 vegetables_initial double 0.5 Initial nutrition value for new players / 新玩家蔬菜初始值 proteins_initial double 0.5 Initial nutrition value for new players / 新玩家蛋白质初始值 sugars_initial double 0.5 Initial nutrition value for new players / 新玩家糖类初始值📁 Data Pack Configuration | 数据包配置
📂 Directory Structure | 目录结构
data/ └── <namespace>/ └── diet/ ├── groups/ ← Group definitions (required / 必需) │ ├── grains.json │ ├── fruits.json │ ├── vegetables.json │ ├── proteins.json │ ├── sugars.json │ └── disabled_groups.json ← Groups to disable (array / 数组) └── foods/ ← Food nutrition data (optional / 可选) ├── apple.json ├── bread.json └── ...📄 Food Data Format | 食物数据格式
Each file defines one food item. Supports both single-object and array formats. The auto_calculated field defaults to false when omitted.
每个文件定义一个食物。支持单对象和数组两种格式。auto_calculated 字段缺失时默认为 false。
// Single object format / 单对象格式 — diet/foods/apple.json { "source_item": "minecraft:apple", "nutritions": { "fruits": 0.02 } } // Array format, only for file config/appleseed_data.json / 数组格式,仅可在config/appleseed_data.json中使用 [ { "source_item": "minecraft:apple", "nutritions": { "fruits": 0.02 } }, { "source_item": "minecraft:bread", "nutritions": { "grains": 0.05 } } ] Field Required Type Description source_item Yes string Item ID / 物品 ID nutritions Yes object Map of group name → nutrition value (0.0 – 1.0) / 营养组名 → 营养值映射 auto_calculated No bool Whether this entry is auto-generated. Defaults to false / 是否为自动生成。默认为 false📄 Group Definition Format | 营养组定义格式
{ "icon": "minecraft:apple", "color": "#9e2a2b", "order": 1, "default_value": 0.5, "gain_multiplier": 1.0, "decay_multiplier": 1.0, "beneficial": true, "translation_key": "diet.group.fruits", "effects": [ "0-25:effect(minecraft:mining_fatigue,0)", "61-70:attribute(minecraft:generic.max_health,2.0)", "71-80:attribute(minecraft:generic.max_health,4.0)", "81-100:attribute(minecraft:generic.max_health,6.0)" ] } Field Type Description icon string Item ID used as the group icon / 用作图标的物品 ID color string Hex color for UI display / UI 显示的十六进制颜色 order int Sort order in the diet screen / 膳食界面中的排序 default_value float Starting nutrition value for new players (0.0 – 1.0) / 新玩家初始营养值 gain_multiplier float Multiplier for nutrition gained from food / 食物营养获取倍率 decay_multiplier float Multiplier for nutrition decay rate / 营养衰减速率倍率 beneficial bool Whether higher values are good (affects UI color) / 高值是否有益(影响UI颜色) translation_key string Translation key for the group name / 营养组名称的本地化键 effects array Effect range definitions / 效果范围定义📄 Effects Format | 效果格式
"min-max:effect(namespace:id,amplifier),attribute(namespace:id,amount),..." Element Format Example effect(id,amplifier) effect(modid:effect_id,level) effect(minecraft:slowness,0) = Slowness I attribute(id,amount) attribute(modid:attr_id,value) attribute(minecraft:generic.max_health,4.0) = +4 Max HealthMultiple effects/attributes in one range are separated by commas.
同一范围内的多个效果/属性用逗号分隔。
🚫 Disabling Groups | 禁用营养组
disabled_groups.json — an array of group names to disable entirely:
disabled_groups.json — 一个包含要完全禁用的营养组名称的数组:
["grains", "sugars"]🍎 appleseed_data.json
A special config file at config/appleseed_data.json with the highest priority. Format is an array of food entries:
位于 config/appleseed_data.json 的特殊配置文件,拥有最高优先级。格式为食物条目数组:
[ { "source_item": "minecraft:golden_apple", "nutritions": { "fruits": 0.5, "sugars": 0.3 } } ]🔌 Soft Dependencies | 软依赖
FTB Library Compat | FTB Library 兼容
When FTB Library is installed, the mod supports registering a sidebar button to open the diet screen. Set entrance_visibility to ftb_compact in config, or use /diet config set entranceVisibility ftb_compact.
当安装 FTB Library 时,支持在侧边栏注册按钮以打开膳食均衡界面。 在配置中设置 entrance_visibility 为 ftb_compact,或使用 /diet config set entranceVisibility ftb_compact。
The button is defined via the JSON asset at assets/appleseed/sidebar_buttons/diet.json and appears in FTB Library's sidebar as "Diet Balance".
按钮通过 assets/appleseed/sidebar_buttons/diet.json JSON 资源定义,在 FTB Library 侧边栏显示为「Diet Balance」。
SomeAssemblyRequired Compat | SomeAssemblyRequired 兼容
Sandwiches from SomeAssemblyRequired are fully supported — their nutritional value is calculated from all ingredients inside the sandwich.
完整支持 SomeAssemblyRequired 的三明治 — 根据三明治内所有原料计算营养值。
🎮 Key Binding | 按键绑定
A key binding is registered under Controls → AppleSeed → Open Diet GUI. Can be used to open the diet screen regardless of entrance visibility mode.
在 控制 → AppleSeed → Open Diet GUI 中注册了按键绑定。 无论入口可见性模式如何,均可使用该按键打开膳食均衡界面。
📦 Modpack Usage | 整合包使用
This mod is designed with modpack creators in mind:
- Create custom food nutrition data in your datapack under data/<namespace>/diet/foods/
- Override group behaviors via appleseed-common.toml → [Group_Overrides]
- Define highest-priority food data in config/appleseed_data.json
- Disable unwanted groups via disabled_groups.json
- Customize nutrition effects in group JSON files under diet/groups/
- Auto-calculation handles all modded foods — no manual data needed for most items
本模组为整合包作者设计:
- 创建自定义食物营养数据:在数据包的 data/<namespace>/diet/foods/ 下
- 覆盖营养组行为:通过 appleseed-common.toml → [Group_Overrides]
- 定义最高优先级食物数据:在 config/appleseed_data.json 中
- 禁用不需要的营养组:通过 disabled_groups.json
- 自定义营养效果:在 diet/groups/ 下的组 JSON 文件中
- 自动计算覆盖所有 Mod 食物 — 大多数物品无需手动编写数据
📝 License | 许可证
LGPLv3
Compatibility
Mod Loaders
Game Versions
Screenshots
Similar Mods
Chimneys SSP
Chimneys SSP
Lava chicken music
Add the lava chicken disc to older versions
Create: Overdrive Addon
Create: Overdrive is an addon for the Create mod that introduces powerful high-tech machinery inspired by modern physics...
UE Addons
The Core mod of the modpack "Create:Infinity Mechanism"
Cape Provider X (also PiCapes Mod)
Fork of Cape Provider Mod with upgrades by xsyanic and extended providers (PiCapes, Cosmetica, SkinMC, etc.)
CobbleBrain - AI Dialogue System for Cobblemon
CobbleBrain is a mod that gives Pokémon a "brain," allowing them to think, talk, and interact with their surroundings in...