Healthy DietFEATURE GUIDE中文
02 / FOOD FATIGUE

食物厌倦:暂时冷却与长期厌食。

同一种食物的短期重复食用和终身食用次数分别记录。两种限制可以独立配置,恢复方式也不同。

按食物记录短期冷却终身衰减
配置边界:以下阈值是配置字段的默认值或明确标注的计算示例,不表示每种食物都启用了厌倦;以服务器为该食物提供的配置为准。

01短期冷却

为某食物设置 foodCooldown 后,玩家每次成功食用会累加次数;达到 maxUses 即进入该食物的冷却状态。

该字段的默认上限是 5 次;这是开启此配置但未改字段时的数值,不是所有食物的全局限制。冷却生效时,物品仍可被吃掉,但这次不按正常进食发放营养和效果;restoreHunger 可设定冷却期间的饥饿值保底恢复量,默认为 0。

次数示意 · 已启用且 maxUses=5

前五次正常吃下时逐次计数;第五次吃完进入冷却,第六次起才按冷却规则结算。冷却中再次吃它不会增加终身食用次数,也不会推进其他食物的恢复计数;不要把「达到阈值」误读为第五次不能吃。

成功食用计入该食物次数
达到阈值进入短期冷却
满足恢复条件重置冷却
源码依据:ItemConfig.FoodCooldownConfig、PlayerNutritionTracker.processEating。

02怎样解除冷却

改吃其他食物每成功吃下一份不同于冷却目标的食物,恢复计数增加。cooldownCount 默认 3;达到阈值后重置。豁免列表中的食物不参与该计数。
按在线游玩时间cooldownMinutes 为正数时启用时间恢复。默认值 -1 代表不按时间自动解除;计时依据玩家游玩时间,而不是现实离线时长。

两种恢复路径以实际配置为准;达成任一路径即可结束冷却。冷却不等于终身厌食:解除冷却不会删除终身食用记录。

恢复示意 · cooldownCount=3

目标食物进入冷却后,正常吃下三份其他非豁免食物即可清除这份食物的冷却;不要求三份分别是三种 ID。fatigue/fatigue_exempt.json 可排除不应计数的食物;cooldownCount=-1 可关闭「改吃其他食物」路径,但此时须设置正数分钟以免无路可恢复。

源码依据:PlayerNutritionTracker.onOtherFoodEaten、tick 与 FoodCooldownConfig。

03终身营养衰减与厌食

启用 foodFatigue 后,食物的终身食用次数可用于计算营养获取倍率。只有同时设置 lossStart 与 aversionCount,两者之间才发生线性衰减。

  • 1次数不超过 lossStart:营养获取系数为 100%。
  • 2两阈值之间:系数随终身食用次数线性下降;这份食物的营养获取、饥饿值与饱和度恢复相应缩减。
  • 3次数达到 aversionCount:系数为 0%,该食物进入厌食状态,不会靠吃其他食物或等待冷却自动恢复。

例如终身记录为 6 次、起点 5 次、厌食阈值 10 次时,倍率为 (10 - 6) / (10 - 5) = 80%。若只设置厌食阈值而不设置衰减起点,中途不会线性下降,但达到阈值仍会厌食;反过来只设置起点而没有厌食阈值,也不会启动线性衰减。这里的次数指服务器记录,不是网页滑块替玩家改值。

已食用 6 次 · 本次营养获取系数 80%仅模拟 lossStart=5、aversionCount=10;不是预设的食物数值。
源码依据:PlayerNutritionTracker.getLifetimeDecayFactor、isAversed。

04编辑与管理

管理员手持食物通过 /hdui 进入物品编辑器,在「食物厌倦」页配置短期次数、恢复条件和终身阈值。普通玩家可通过物品提示查看服务器公开的厌倦信息;具体显示由 Tooltip 布局和可见性开关决定。

恢复终身记录:有权限的管理员可用 /headiet clearaversion <玩家> <物品ID|hand> (OP2) 移除指定玩家对该食物的终身厌食记录;hand 指目标玩家的主手,不是命令执行者的主手。这不是短期冷却重置指令。
继续阅读营养获取倍率、提示排版与厌倦颜色分别见对应章节。
查看营养值 →