Kzeroko KTM2

舒适度

一个 0–100 的数值,记录你过得好不好,并折算成移动速度、挖掘速度与饱食消耗效率。

更新于 2026/9/1 4 分钟阅读 生存食物据点

舒适度是绑在角色身上、范围 0 到 100 的数值。它随环境、饮食、睡眠和受到的伤害变化,并在三个地方兑现:移动速度、挖掘速度,以及饥饿消耗的快慢。

三个区间

区间数值移动速度挖掘速度饥饿消耗
痛苦0–40基础 −20%×0.90×1.50
正常41–70
舒缓71–100基础 +20%×1.10×0.50

痛苦和舒缓之间差 40% 的移动速度,以及三倍的食物消耗。

KTM2 界面中的舒适度指示,显示当前数值与近期食用记录
舒适度和最近吃过的东西都能直接在 HUD 上看到。

自然变化

只要舒适度大于 0,系统就**每 1200 刻(60 秒)**结算一次。每次结算先扣 1 点,再叠一个被限制在 −5 … +1 之间的环境修正。

上限那个 +1 正好抵消掉 −1:待在足够好的地方,舒适度不再下降。最糟的情况下,一分钟掉 6 点。

环境会检查什么

  • 出生点附近有遮蔽会抵消损失——这就是「家」的情况。
  • 淋雨会加惩罚。
  • 在雪地且没穿满防具会加惩罚。
  • 下界会加惩罚。

舒适度被冻结的情况

下列状态下舒适度完全不变化:

  • 创造模式 / 旁观模式;
  • 正在床上睡觉;
  • 拥有农夫乐事的 comfort 效果。

「滋养」会拖慢结算

农夫乐事的 nourishment 效果把结算周期乘以 1.5,从 60 秒一次变成 90 秒一次。

食物

手持食物时预览它会提供的舒适度数值
手持食物时会先预览它能给多少舒适度,再决定吃不吃。

每种食物都可以带一个有正负号的舒适度值。有两条规则决定它最后给你多少:

  1. 重复会让正收益变钝。系统记住你最近吃过的六样东西。同一道菜第一次出现在这段记录里给 100% 的正向舒适度,之后依次是 70%40%10%。负值不打折——馊掉的炖菜每次都一样难吃。

  2. 好好做饭是值得的。带 WellMadeFood.Bonus 1–3 的菜品,正向舒适度按 1 + 0.33 × 等级 放大,负向舒适度除以同一个系数。

伤害与睡眠

受到伤害会扣舒适度,按一条考虑了最大生命值的对数曲线计算,单次最多扣 20 点。擦伤代价很小,濒死代价很大。

从睡眠中醒来最多恢复 30 点,且不超过缺失量的 70%。在 20 点时睡觉能补满 30 点,在 65 点时睡觉补得就很少。睡眠是恢复手段,不是重置按钮。

与命运天平的联动

两项命运天平的性格选项会改变舒适度的表现:

命运恢复量损失量自然衰减
optimistic_nature(乐观)×1.20×0.80×0.80
pessimistic_nature(悲观)×0.80×1.20×1.25

另外两项食量选项改的是最大饱食度,和上表的饥饿消耗一栏叠在一起看:

命运最大饱食含义
20标准储备
hearty_appetite(大胃)26饿死之前多出 30% 的储备
birdlike_appetite(小鸟胃)14更快吃饱,储备少 30%

给数据包作者

食物数值从 data/<命名空间>/comfort_level/*.json 读取,格式是「物品 ID → 有符号整数」的扁平映射:

{
  "minecraft:bread": 3,
  "example:spoiled_stew": -8
}

未知物品与非食物物品会被忽略并给出警告。重复的物品条目按 ID 的确定性顺序解析,后出现的覆盖先出现的。数据包重载后,解析结果会同步到客户端。

为所有已注册食物生成一份基准值:

/ise dev dumpFoodComfort

结果写入 config/isekaiseries/ktm2foodcomfort.json