All Mods Resource Packs Data Packs Shaders Modpacks Plugins
Diet - AppleSeed Edition

Diet - AppleSeed Edition

by DrownedCloud • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

🍎 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 +6
Regeneration I
Max Health +6
Attack Damage +1
Regeneration I
🌾 谷物 缓慢 I 生命上限 +4 生命上限 +6
生命恢复 I
生命上限 +6
攻击伤害 +1
生命恢复 I
🥬 Vegetables Nausea I Max Health +2
Armor Toughness +3
Max Health +2
Armor Toughness +4
Max Health +2
Armor Toughness +4
Haste I
🥬 蔬菜 反胃 I 生命上限 +2
护甲韧性 +3
生命上限 +2
护甲韧性 +4
生命上限 +2
护甲韧性 +4
急迫 I
🥩 Protein Weakness I Max Health +2
Armor +1
Max Health +4
Armor +2
Max Health +6
Armor +4
Resistance I
🥩 蛋白质 虚弱 I 生命上限 +2
护甲值 +1
生命上限 +4
护甲值 +2
生命上限 +6
护甲值 +4
抗性提升 I
🍎 Fruits Mining Fatigue I Max Health +2
Attack Speed +0.05
Max Health +4
Attack Speed +0.1
Max Health +6
Attack Speed +0.2
🍎 水果 挖掘疲劳 I 生命上限 +2
攻击速度 +0.05
生命上限 +4
攻击速度 +0.1
生命上限 +6
攻击速度 +0.2
🍬 Sugars None Speed II Speed II Speed II
Hunger 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(无需权限)
┌─────────────────────────────────────────────┐
│                  Diet / 膳食均衡             │
├─────────────────────────────────────────────┤
│  🌾 Grains   [████████░░░░]  80%            │
│  🥬 Veggies  [███████░░░░░]  70%            │
│  🥩 Protein  [████████████] 100%            │
│  🍎 Fruits   [████░░░░░░░░]  40%            │
│  🍬 Sugars   [█████████░░░]  90%            │
├─────────────────────────────────────────────┤
│  ✨ Active Effects:                         │
│     Resistance I                            │
│     +6.0 Max Health / 最大生命值             │
│     +4.0 Armor / 护甲值                      │
└─────────────────────────────────────────────┘

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:死亡后保留营养值。
/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 | 识别所有带有 FoodProperties 的物品
  3. 🔗 Recursively trace each food's ingredients | 递归追溯每个食物的原料
  4. 🧮 Automatically calculate nutritional composition | 自动计算营养成分
  5. 💾 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 Health

Multiple 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

How to Install Diet - AppleSeed Edition (Mod)

Diet - AppleSeed Edition by DrownedCloud is verified for Neoforge across Minecraft versions 1.21.1 (latest release: 3.0.2, file size: 234 KB). Follow the steps below to install it safely from ModCraft.tv:

  1. Click the Download button above and select your Minecraft version (1.21.1) and platform (Neoforge).
  2. Make sure you have the compatible loader or environment installed for Neoforge.
  3. Move the downloaded Diet - AppleSeed Edition file into your Minecraft .minecraft/mods folder and launch the game.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
1.21.1
Neoforge
3mo ago 1
1.21.1
Neoforge
3mo ago 1
1.21.1
Neoforge
4mo ago 1
1.21.1
Neoforge
4mo ago 1
1.21.1
Neoforge
5mo ago 1
1.21.1
Neoforge
5mo ago 1
1.21.1
Neoforge
5mo ago 1
1.21.1
Neoforge
5mo ago 1
1.21.1
Neoforge
5mo ago 1
1.21.1
Neoforge
5mo ago 1
1.21.1
Neoforge
6mo ago 1
1.21.1
Neoforge
6mo ago 1
1.21.1
Neoforge
6mo ago 1
1.21.1
Neoforge
6mo ago 1
1.21.1
Neoforge
6mo ago 1
1.21.1
Neoforge
6mo ago 1
[3.0.2] 3.0.2 for Neoforge 1.21.1 by DrownedCloud on Aug 04, 2026
Download
Adds function that you can control decay multipliers of nutrition loss via config file.
[3.0.1] 3.0.1 for Neoforge 1.21.1 by DrownedCloud on Jul 24, 2026
Download
  • Enhanced logic when multiply data file try to define same item's nutrition data.
[3.0.0] 3.0.0 for Neoforge 1.21.1 by DrownedCloud on Jul 23, 2026
Download
  • Restruct the nutrition auto-caculate system.
  • Adjust some UI performance.
  • Adds support of using item/block tag(s) in nutrition definition data files!

  • CloudWorks API 1.0.2 or above needed!**
[2.2.0] 2.2.0 for Neoforge 1.21.1 by DrownedCloud on Jun 25, 2026
Download
  • Adds compability with IPN mod.
  • Enhanced some text.
[2.1.0] 2.1.0 for Neoforge 1.21.1 by DrownedCloud on Jun 10, 2026
Download
1. Fix the initialization bug on dedicated server.
2. Adds filter function to automatic caculating system.
[2.0.3] 2.0.3 for Neoforge 1.21.1 by DrownedCloud on Jun 03, 2026
Download
Adds more API.
[2.0.2] 2.0.2 for Neoforge 1.21.1 by DrownedCloud on Jun 02, 2026
Download
Adds more API.
[2.0.1] 2.0.1 for Neoforge 1.21.1 by DrownedCloud on Jun 02, 2026
Download
Fix API bugs.
[2.0.0] 2.0.0 for Neoforge 1.21.1 by DrownedCloud on Jun 02, 2026
Download
# Changelog

## [Latest] — 2026-06-02 / 最新版本

### Bug Fixes / 问题修复

  • Fixed block foods (like Cake) not showing nutrition values in tooltips. / 修复了方块食物(如蛋糕)未在Tooltip中显示营养值的问题。
  • Fixed block foods not properly adding nutrition when consumed. / 修复了食用方块食物时未正确增加营养值的问题。
  • Fixed entire cake nutrition being added instead of per-bite nutrition. / 修复了食用蛋糕时错误添加整个蛋糕营养值而非按口计算的问题。
  • Fixed simulated recipes not being recognized by the nutrition auto-calculator. / 修复了模拟配方未被营养自动计算器识别的问题。
  • Fixed simulated recipe loading timing issue by moving calculation trigger from ServerStarting to OnDatapackSync event. / 通过将计算触发从ServerStarting事件移至OnDatapackSync事件,修复了模拟配方加载时序问题。
  • Fixed the cache command being incorrectly nested under config instead of being a direct branch of diet. / 修复了 cache 指令被错误嵌套在 config 分支下而非作为 diet 的直接分支的问题。
  • Fixed /diet screen command requiring permissions to execute when it should be accessible to all players. / 修复了 /diet screen 指令需要权限才能执行的问题,使其对所有玩家可用。
  • Fixed data files without the auto_calculated field being unable to load by defaulting the field to false when absent. / 修复了不含 auto_calculated 字段的数据文件无法加载的问题,缺失时该字段默认为 false。
  • Fixed the diet balance UI shifting upward when switching pages for the first time after opening. / 修复了膳食均衡界面在打开后首次切换页码时界面上移的问题。
  • Fixed the diet balance UI appearing in the upper-middle of the screen instead of being centered. / 修复了膳食均衡界面出现在屏幕中上部而非正中央的问题。
  • Fixed FTBLibrary being declared as a required dependency instead of a soft dependency, now the mod functions correctly when FTBLibrary is not loaded. / 修复了 FTBLibrary 被声明为必选前置依赖的问题,现在未加载 FTBLibrary 时模组也能正常运行。
  • Fixed the diet screen entrance button not registering to FTB Library's sidebar when in ftb_compat mode with FTB Library installed. / 修复了安装 FTB Library 后在 ftb_compat 模式下入口按钮未正确注册到 FTB Library 按钮栏的问题。

### New Features / 新增功能

  • Added /diet item command for managing nutrition data of held items. / 新增 /diet item 指令,用于管理手持物品的营养数据。
  • Added /diet block command for managing nutrition data of blocks. / 新增 /diet block 指令,用于管理方块的营养数据。
  • Added craft_chain_search_depth config option to control recipe recursion depth for non-food ingredients. / 新增 craft_chain_search_depth 配置项,控制非食物原料的配方递归搜索深度。
  • Added support for block foods (e.g., Cake) with per-bite nutrition calculation. / 新增方块食物支持(如蛋糕),支持按口计算营养值。
  • Added simulated recipe system using Minecraft's native recipe system with type appleseed:simulate_recipe. / 新增基于Minecraft原生配方系统的模拟配方功能,配方类型为 appleseed:simulate_recipe。
  • Added comprehensive DEBUG logging for nutrition calculation process. / 新增营养计算过程的详细DEBUG日志。

### Feature Changes / 功能变更

  • Unified recipe handling: SimulateRecipes are now processed together with other recipe types instead of being treated separately. / 统一配方处理:模拟配方现在与其他配方类型统一处理,不再单独处理。
  • Recursive nutrition calculation now properly handles non-food ingredients and fluids with configurable depth limit. / 递归营养计算现在正确处理非食物原料和流体,支持可配置的深度限制。
  • /diet cache regenerate now firs
...
[1.5.0] 1.5.0 for Neoforge 1.21.1 by DrownedCloud on May 29, 2026
Download
# Changelog

## [Latest] — 2026-05-29 / 最新版本

### Bug Fixes / 问题修复

  • Fixed the cache command being incorrectly nested under config instead of being a direct branch of diet. / 修复了 cache 指令被错误嵌套在 config 分支下而非作为 diet 的直接分支的问题。
  • Fixed /diet screen command requiring permissions to execute when it should be accessible to all players. / 修复了 /diet screen 指令需要权限才能执行的问题,使其对所有玩家可用。
  • Fixed data files without the auto_calculated field being unable to load by defaulting the field to false when absent. / 修复了不含 auto_calculated 字段的数据文件无法加载的问题,缺失时该字段默认为 false。
  • Fixed the diet balance UI shifting upward when switching pages for the first time after opening. / 修复了膳食均衡界面在打开后首次切换页码时界面上移的问题。
  • Fixed the diet balance UI appearing in the upper-middle of the screen instead of being centered. / 修复了膳食均衡界面出现在屏幕中上部而非正中央的问题。
  • Fixed FTBLibrary being declared as a required dependency instead of a soft dependency, now the mod functions correctly when FTBLibrary is not loaded. / 修复了 FTBLibrary 被声明为必选前置依赖的问题,现在未加载 FTBLibrary 时模组也能正常运行。
  • Fixed the diet screen entrance button not registering to FTB Library's sidebar when in ftb_compat mode with FTB Library installed. / 修复了安装 FTB Library 后在 ftb_compat 模式下入口按钮未正确注册到 FTB Library 按钮栏的问题。

### Feature Changes / 功能变更

  • /diet cache regenerate now first clears the cache and then executes the vanilla /reload command. / /diet cache regenerate 指令现在会先清空缓存再执行原版 /reload 指令。
  • /diet cache reload is now equivalent to executing the vanilla /reload command. / /diet cache reload 指令现在等同于执行原版 /reload 指令。

### Optimizations / 功能优化

  • The /diet config entranceVisibility command now automatically executes /reload when switching to or from ftb_compat mode to refresh FTB Library's sidebar immediately. / 使用 /diet config entranceVisibility 指令切换至或离开 ftb_compat 模式时,现在会自动执行 /reload 以立即刷新 FTB Library 侧边栏。
  • Repositioned the mod's FTB Library sidebar button to the first position of the third row. / 将本模组在 FTB Library 侧边栏中的按钮位置调整为第三排第一个。
[1.4.0] 1.4.0 for Neoforge 1.21.1 by DrownedCloud on May 19, 2026
Download
  • Fixed a bug of localization text on dedicated server.
  • Adds /diet nutrition <add|remove> command.
  • Fixed a bug of attribute benefits bind with the decay multiplier.
  • Adds new "ignore_attack" and "ignore_hunger" properties to nutritions to control if the nutrition will decay becauce of being attacked or hunger loss.
  • Adds new "is_negative" property to nutritions to control if the nutrition will be ignored when automatically caculate foods' nutrition data.
[1.3.1] 1.3.1 for Neoforge 1.21.1 by DrownedCloud on May 19, 2026
Download
Fixed a localization bug at Diet screen when there's no nutrition effect active.
[1.3.0] 1.3.0 for Neoforge 1.21.1 by DrownedCloud on May 17, 2026
Download
# Changelog | 更新日志


## [1.3.0] - 2026-05-17

### 🛠️ 命令系统 | Command System

全新 /diet 命令,方便服务器管理员和整合包作者管理玩家营养数据:

The brand-new /diet command for server admins and modpack authors to manage player nutrition data:

| 命令 Command | 权限 | 功能 Description |
|---|---|---|
| /diet nutritions query <玩家> | 2 | 查询指定玩家的营养值,按数据包定义的颜色显示 |
| /diet nutritions set <玩家> <营养ID> <值> | 2 | 修改指定玩家某项营养值(0.0~1.0),支持Tab补全 |
| /diet config set ignoreHunger <true/false> | 2 | 切换饱食度满时是否计算营养值,修改即时保存到配置文件 |
| /diet cache clear | 4 | 删除 config/apple_seed_foods/ 目录下所有自动计算缓存 |
| /diet cache regenerate | 4 | 清除缓存后重新计算并生成所有食物营养值数据 |
| /diet cache reload | 2 | 重新加载食物营养值和营养素数据,并同步到所有在线玩家 |

> 💡 查询结果中已禁用的营养组不会显示,且各营养值行会以数据文件中定义的组颜色渲染。

### 🥪 联动兼容 | Mod Compatibility

  • Some Assembly Required** 模组的 三明治 (Sandwich) 物品现已支持动态营养计算:

  • 食用三明治时,系统会读取其 NBT 中的 someassemblyrequired:sandwich_contents 配料列表
  • 根据每种配料的 id 和 count 字段自动汇总计算总营养值
  • 物品提示(Tooltip)中也会实时显示当前三明治的动态营养值
  • 无需为该物品编写任何营养值数据文件

  • The Sandwich item from Some Assembly Required now supports dynamic nutrition calculation:**

  • When eating a sandwich, the system reads the someassemblyrequired:sandwich_contents ingredient list from its NBT
  • Total nutrition is automatically summed based on each ingredient's id and count fields
  • The item tooltip also displays the sandwich's real-time dynamic nutrition values
  • No nutrition data file is needed for this item

> ⚠️ 这不是硬依赖。未安装 SomeAssemblyRequired 时,相关代码零开销。

### 🎨 视觉修复 | Visual Fix

  • 膳食均衡界面(Diet Screen)中进度条后的百分比文本现在使用数据文件中定义的营养组颜色,而非统一的深灰色。例如水果组会显示为 #9e2a2b 对应的红色调。
  • The percentage text after progress bars in the Diet Screen now uses each group's defined color from data files, instead of a uniform dark gray.

[1.2.0] 1.2.0 for Neoforge 1.21.1 by DrownedCloud on May 04, 2026
Download
# Changelog - AppleSeed Diet Mod

## Version 1.2.0


### 🐛 Bug Fixes / 修复

#### 1. Dedicated Server Compability Fix / 专用服务端兼容性修复

#### 2. Effects Application Fix / 范围效果应用修复

#### 3. UI Dynamic Rendering Fix / UI动态渲染修复

#### 4. Dedicated Server Sync Fix / 专用服务端同步修复

#### 5. New Nutrient Initial Value Fix / 新营养素初始值修复

### ✨ Improvements / 优化

#### 1. Attribute Display Precision / 属性显示精度

  • Change:** Speed-related attribute modifiers now display with 2 decimal places in the "Active Effects" tooltip.
  • 改动:** UI界面的"当前效果"列表中,显示"速度"、"移动速度"和"攻击速度"三种属性增益效果时,显示的数字精确度改为精确到小数点后两位

| Attribute | Old Format | New Format | Example |
|-----------|------------|------------|---------|
| Movement Speed | %+.0f | %+.2f | +0.06 移动速度 |
| Attack Speed | %+.0f | %+.2f | +0.20 攻击速度 |
| All Others | %+.0f | %+.0f | +6 最大生命 |


#### 2. Fully Data-Driven Nutrient Configuration / 完全数据驱动的营养素配置

Migrated all nutrient properties from hardcoded values to JSON data files, supporting custom colors, icons, names, initial values, gain/decay multipliers, and effects.
将所有营养素属性从硬编码迁移到JSON数据文件,支持自定义颜色、图标、名称、初始值、增减倍率和效果范围配置。

``json
{
"icon": "minecraft:wheat",
"color": "#d4a017",
"order": 0,
"default_value": 0.5,
"gain_multiplier": 1.0,
"decay_multiplier": 1.0,
"beneficial": true,
"translation_key": "diet.group.grains",
"effects": [
"0-25:effect(minecraft:slowness,0)",
"61-70:attribute(minecraft:generic.max_health,4.0)",
"71-80:attribute(minecraft:generic.max_health,6.0),effect(minecraft:regeneration,0)",
"81-100:attribute(minecraft:generic.max_health,6.0),attribute(minecraft:generic.attack_damage,1.0),effect(minecraft:regeneration,0)"
]
}
``


#### 3. Nutrient Effects in Data Files / 营养素范围效果数据文件配置

Moved nutrient range effects configuration from config file to nutrient data files with config file override support.
将营养素范围效果配置从配置文件迁移到营养素数据文件,并支持配置文件覆盖。


[1.1.0] 1.1.0 for Neoforge 1.21.1 by DrownedCloud on May 02, 2026
Download
# ChangeLog

## 1.1.0 - Feature Update

### 🆕 New Features
  • 新增功能**

#### ✅ Fully Data-Driven Nutrient System
#### ✅ 完全数据驱动的营养素系统

  • All nutrients are now loaded from data/{modid}/diet/groups/*.json
  • 所有营养素现在从 data/{modid}/diet/groups/*.json 文件中加载
  • Support for custom translation_key in nutrient JSON definition
  • 营养素JSON定义中支持自定义 translation_key 翻译键
  • Dynamic nutrient listing in GUI - no more hardcoded groups
  • GUI中动态渲染营养素列表,不再有硬编码的营养素分组


#### ✅ Nutrient Disable System
#### ✅ 营养素禁用系统

  • Added disabled_groups.json support for modpacks and datapacks
  • 新增 disabled_groups.json 支持,可供整合包和数据包使用
  • Disable any nutrient without modifying Java code
  • 无需修改Java代码即可禁用任意营养素
  • Priority Rules / 优先级规则**:
  • 🥇 World Datapack > 🥈 Other Mods > 🥉 AppleSeed Built-in
  • 🥇 世界数据包 > 🥈 其他模组 > 🥉 本模组内置
  • Same-priority files are merged together
  • 同优先级文件的禁用列表会合并处理

  • Usage / 使用方式:**
``json
[
"sugars",
"grains"
]
`


#### ✅ Priority Override for Nutrient Definitions
#### ✅ 营养素定义优先级覆盖

  • Same-name nutrient files follow priority: World Datapack > Other Mods > AppleSeed Built-in
  • 同名营养素文件按优先级加载:世界数据包 > 其他模组 > 本模组内置
  • Higher priority completely overrides lower priority for same nutrient
  • 高优先级同名营养素完全覆盖低优先级定义
  • Same-priority duplicates: only first one is processed
  • 同优先级同名文件:只处理其中第一个


### 🐛 Bug Fixes
  • 问题修复**

#### ✅ Fixed Death Nutrition Preservation
#### ✅ 修复死亡营养值保留BUG

  • Root Cause:** Minecraft creates a new Player entity on respawn, old capability data was lost
  • 根本原因:** Minecraft重生时创建新Player实体,旧的能力数据丢失
  • Fix:** Implemented UUID-based caching system to restore nutrition on respawn
  • 修复方案:** 实现基于UUID的缓存系统,重生时恢复死亡前的营养值

  • Before / 修复前:**
`
keepNutritions = true → all values reset to 0%
`

  • After / 修复后:**
`
keepNutritions = true → values preserved correctly
`


#### ✅ Fixed GUI Crash with Null Icon
#### ✅ 修复空图标导致的GUI崩溃

  • Root Cause:** DietGroup.load() set icon to null during NBT deserialization
  • 根本原因:** NBT反序列化时 DietGroup.load() 将图标设为 null
  • Fix:** Default to Apple icon + null-safe rendering guard
  • 修复方案:** 默认为苹果图标 + 渲染时空值安全检查


#### ✅ Fixed "disabled_groups" being loaded as nutrient
#### ✅ 修复配置文件被误当作营养素加载

  • Root Cause:** computeIfAbsent added Builder to map BEFORE JSON validation
  • 根本原因:** computeIfAbsent 在JSON验证前就把Builder放入map了
  • Fix:** 3-layer protection + exception rollback
  • 修复方案:** 三层防护 + 异常回滚机制


#### ✅ Fixed Recipe Book Button Position
#### ✅ 修复配方书开关时按钮错位

  • Root Cause:** Button position calculated once at init
  • 根本原因:** 按钮位置仅在初始化时计算一次
  • Fix:** Dynamic position update on every render frame
  • 修复方案:** 每渲染帧更新按钮位置

Now the diet button follows the inventory position correctly when recipe book toggles.
现在配方书开关时,膳食按钮会正确跟随物品栏位置。


### ✨ Improvements
  • 功能优化**

#### ✅ Food Data Filtering
#### ✅ 食物数据过滤优化

  • Food nutrition entries for disabled nutrients are automatically skipped
  • 禁用营养素的食物营养条目自动跳过
  • getNutritionValue() returns 0 for disabled nutrients
  • getNutritionValue()` 对禁用
...
Diet - AppleSeed Edition Icon
Download Diet - AppleSeed Edition
Select game version
Select platform