L'DieDiet
L'DieDiet是一个为Minecraft设计的食物饱食度系统,专门用于与Diet模组集成。
🥗 厌倦饮食
厌倦饮食是一个针对 Minecraft 的食物厌倦系统,专门设计用于与 Diet 模组集成。它通过引入食物习惯化系统和自定义食物组,鼓励玩家多样化饮食。
主要特色
- 厌倦阶段:你吃同一种食物的次数越多,其益处就越少。总共有 5 个阶段——从“新鲜”到完全厌恶。
- 惩罚机制:在更高阶段,食物恢复的饥饿值和饱和度减少,并且不再提供有益效果。
- Diet 模组集成:该模组会考虑你的饮食统计数据并对其进行调整。如果你重复吃同一种食物,你在 Diet 模组中的进度会变慢。
- 奖励系统:通过长期保持多样化饮食,你可以获得独特的增益效果。
厌倦阶段
厌倦饮食系统将每种食物的“厌倦程度”分为 5 个阶段 (0-4)。进度取决于你连续(或在你的饮食历史中)食用同一种食物的次数。
阶段机制(默认)
| 阶段 | 名称 | 特征与惩罚 |
|---|---|---|
| 0 | 新鲜 | 食物提供 100% 的效益。所有正面效果正常生效。 |
| 1 | 够了 | 饥饿值和饱和度恢复 -25%。你开始习惯这种味道。 |
| 2 | 无聊 | 饥饿值/饱和度 -50%。增益效果被禁用:该食物带来的任何魔法或加成不再起作用。 |
| 3 | 恶心 | 饥饿值 -75%。Diet 模组中的属性成长 -50%。饱和度几乎不增加。 |
| 4 | 厌恶 | Diet 属性成长 -100%(属性完全不成长)。饥饿值恢复到最小值。 |
阶段会随时间降低,由 RECOVERY_TIME_TICKS + RECOVERY_MULT_2_STATS 调节。
动态阈值 - 阶段转换依赖于 Diet 模组属性
示例:
普通苹果:仅在 Diet 中提供 1 点属性(水果)。模组使用基础阈值列表:[5, 12, 20, 30]。
复杂炖菜:例如,在 Diet 中提供 3 点属性(谷物、蛋白质、蔬菜)。配置:THRESHOLDS_3_STATS - [8, 18, 28, 40]。
多样性奖励 - 基于饮食多样性的更快阶段恢复
奖励计算方式:模组会查看你近期食用过的食物历史(历史长度在 REWARD_HISTORY_LENGTH 中设置)并统计其中的独特物品数量。
公式:乘数 = 1.0 + (独特物品数量 * VARIETY_RECOVERY_BONUS_PER_FOOD)。
假设每种独特产品的奖励为 0.1 (10%)。你吃过了 5 种不同类型的食物。乘数 = 1.5。基础恢复时间为 10 分钟。多样化饮食下的恢复时间将为 10 / 1.5 = 6.6 分钟。
你可以配置的所有内容:
# 基础阶段阈值
# 各阶段饥饿值恢复乘数
# 完全恢复所需时间(刻)
# 食物总是恢复的最低饥饿值
# 为奖励而记住的近期食用食物数量
# 是否对饱和度应用厌倦惩罚
# 是否启用与 Diet 模组的集成
# 是否在阶段 3+ 对 Diet 属性应用厌倦惩罚
# 是否为拥有多个 Diet 属性的食物启用奖励阈值
# 拥有更多属性的食物将获得更高的阶段阈值
# 是否为拥有多个 Diet 属性的食物启用恢复时间惩罚
# 拥有更多属性的食物恢复更慢
# 各厌倦阶段的 Diet 属性乘数
# 阶段 3:正面 Diet 属性乘数
# 阶段 3:负面 Diet 属性乘数
# 阶段 4:正面 Diet 属性乘数
# 阶段 4:负面 Diet 属性乘数
# 拥有多个 Diet 属性的食物的奖励阶段阈值
# 拥有 2 个 Diet 属性的食物阈值:[阶段1, 阶段2, 阶段3, 阶段4]
# 拥有 3 个 Diet 属性的食物阈值
# 拥有 4 个 Diet 属性的食物阈值
# 拥有 5 个 Diet 属性的食物阈值
# 拥有多个 Diet 属性的食物的恢复时间惩罚
# 拥有 2 个 Diet 属性的食物恢复时间乘数
# 拥有 3 个 Diet 属性的食物恢复时间乘数
# 拥有 4 个 Diet 属性的食物恢复时间乘数
# 拥有 5 个 Diet 属性的食物恢复时间乘数
# 多样性奖励 - 多样化食物加速恢复
# 阶段 1+ 时每种独特产品的恢复速度奖励
自定义食物组
默认有 17 个组,用于展示模组功能:
- 最低限度 图标:🍞 (黄色) | 标志:-c (连续) 阈值:7 (任何物品) 效果:舒适 II 分钟。 冲突:激活神圣食物时效果立即移除。
- 地下室亚洲 图标:🥢 (红色) | 标志:-c (连续) 阈值:5 (独特物品) 效果:生命恢复和速度 III 分钟。 冲突:被神圣食物移除。如果尝试用牛奶(牛奶清洁)送服,会导致反胃。
- 冠军早餐 图标:💪 (金色) | 标志:-c (连续) 阈值:3 (独特物品) 效果:力量 X 分钟。 冲突:被神圣食物移除。使“食草动物”饮食更容易忍受(移除其负面效果)。
- 冰冷虚空 图标:❄ (青色) | 标志:-o (在历史中) 阈值:7 (任何物品) 效果:冰霜抗性 XV 分钟。 冲突:与有形热量互斥(效果互相抵消)。被神圣食物移除。
- 快餐 图标:🍔 (金色) | 标志:-c (连续) 阈值:5 (任何物品) 效果:缓慢 X 分钟。 依赖性:如果“身体是神殿”处于激活状态,额外导致周期性饥饿。
- 水果主义 图标:🍎 (红色) | 标志:-c (连续) 阈值:7 (独特物品) 效果:额外 +1 颗心 (2.0 HP) 和急迫 XV 分钟(持续刷新)。
- 食草动物 图标:🌿 (绿色) | 标志:-o (在历史中) 阈值:5 (独特物品) 效果:持续的虚弱和周期性反胃。 冲突:激活冠军早餐或神圣食物时移除负面效果。
- 高浓度 图标:🍺 (金色) | 标志:-o (在历史中) 阈值:7 (任何物品) 效果:周期性反胃(持续到被清除)。 依赖性:如果“身体是神殿”激活,对生命值造成严重伤害 (-4.0 HP / 2 颗心)。
- 50 道阴影的液体 图标:💧 (蓝色) | 标志:-o (在历史中) 阈值:10 (任何物品) 效果:舒适 V 分钟和恒定的额外 +1 颗心 (+2.0 HP)。
- 牛奶清洁 图标:🥛 (白色) | 标志:-o (在历史中) 阈值:1 (牛奶桶) 效果:如果曾食用海鲜(海洋世界)或亚洲食物(地下室亚洲),则导致反胃 III 分钟。 奖励:如果在清洁前冠军早餐处于激活状态,则给予速度 III 分钟。
- 矿工宝库 图标:⛏ (灰色) | 标志:-c (连续) 阈值:7 (任何物品) 效果:夜视 V 分钟。
- 神圣食物 图标:✨ (金色) | 标志:-o (在历史中) 阈值:1 (金质物品) 效果:排毒。移除几乎所有其他组的效果(水果主义和液体除外)。 依赖性:仅在“身体是神殿”激活时给予生命恢复 III 分钟。
- 海洋世界 图标:🐟 (蓝色) | 标志:-o (在历史中) 阈值:5 (任何物品) 效果:水下呼吸 V X 分钟。 冲突:用牛奶(牛奶清洁)“送服”时导致反胃。
- 嗜甜者 图标:🍭 (浅紫色) | 标志:-c (连续) 阈值:10 (独特物品) 效果:将 Diet 模组中的糖类等级降低 0.5(对糖过量的治疗效果)。
- 有形热量 图标:🔥 (红色) | 标志:-o (在历史中) 阈值:7 (任何物品) 效果:火焰抗性 XV 分钟。 冲突:取消冰冷虚空效果。被神圣食物移除。
- 身体是神殿 图标:⛪ (白色) | 标志:-c (连续) 阈值:10 (独特物品) 效果:对“肮脏食物”的组乘数。施加灰度视觉滤镜。 依赖性:激活快餐和酒精的“隐藏”负面效果。
- 被低估者 图标:⭐ (黄色) | 标志:-o (在历史中) 阈值:7 (任何物品) 效果:在所有 Diet 模组分类中给予 +0.25 奖励(使你的饮食更均衡)。
为厌倦饮食创建数据包的指南
数据包允许你配置食物组、激活奖励以及厌倦系统的例外情况。
- 食物组
组配置文件位于:
data/<命名空间>/food_groups/<组_id>.json。
主要组参数:
| 字段 | 类型 | 描述 |
|---|---|---|
name |
字符串 | 组名(在界面中显示)。 |
active_effect_text |
字符串 | 组激活时在 GUI 中可见的副标题。 |
flag |
字符串 | 计数模式:-o(总体——统计历史中的所有内容)或 -c(连续——连续食用)。 |
threshold |
整数 | 需要食用多少食物才能激活该组。 |
require_unique |
布尔值 | true — 只统计不同的物品,false — 求和所有物品。 |
hide_activation_message |
布尔值 | true — 隐藏快捷栏上方的橙色激活文本。 |
advancement |
字符串 | 激活时授予的进度的路径(例如 mod:folder/adv)。 |
tooltip_icon |
字符串 | 提示框中的图标符号(例如 ✨)。 |
tooltip_icon_color |
字符串 | 图标颜色(例如 gold、red、aqua)。 |
items |
数组 | 物品列表(minecraft:apple)或标签(#forge:fruits)。 |
- 效果
在
effects数组内部,你可以定义各种奖励或惩罚。 通用效果字段:
duration_type(或type):"fixed"— 固定时间的效果。"until_death"— 持续到死亡的效果。"until_death_intermittent"— 永久效果,但间歇性工作(闪烁)。"history_intermittent"— 只要玩家的历史记录中包含来自该组的食物就工作。
effect_type:"mob_effect"— 标准药水效果。"health"— 最大生命值奖励。"diet"— Diet 模组的额外属性。"overlay"— 全屏视觉效果。
effect_id:效果 ID(例如minecraft:regeneration)或 Diet 组名。value:HP、Diet 属性的值,或叠加纹理的路径。amplifier:效果等级(0 = 等级 I)。duration_ticks:以刻为单位的持续时间。 高级效果设置:requires_active_groups:需要已经激活才能触发此效果的组 ID 列表。cancel_on_groups:激活后将取消此效果的组 ID 列表。interval_active_ticks:[最小, 最大]— 间歇模式下的激活时间。interval_pause_ticks:[最小, 最大]— 间歇模式下的暂停时间。duration_multipliers:对象{"其它组_id": 1.5},如果另一个组激活,则增加效果强度。
- 例外情况
例外文件位于:
data/<命名空间>/exclusions/<文件_id>.json。
你可以在此处为特定物品强制设置厌倦阶段(例如,使某种食物始终被视为“无聊”或相反地“新鲜”)。
{
"overrides": {
"minecraft:rotten_flesh": 4,
"minecraft:golden_apple": 0
}
}
物品也可以通过物品标签完全排除:data/ldiediet/tags/items/excluded_foods.json。
进度
在添加自己的自定义进度时,你可以将进度授予链接到某个组。为此,请使用以下模板创建进度:
{
"parent": "........",
"display": {
"icon": {
"item": "..........."
},
"title": "..........",
"description": "............",
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false
},
"criteria": {
"award": {
"trigger": "minecraft:impossible"
}
}
}
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。