恢复活力的喜悦

恢复活力的喜悦

一个焕然一新的食物系统,兼容多种食物模组。

冒险

renourisheddelight

Renourished Delight 改变了进食的运作方式。不再是所有食物都以同样的方式填充同一条饥饿条,你可以同时拥有多种不同的食物生效,每种食物在限定时间内提供各自的效果。吃各种各样的食物,让这些效果保持叠加,而不是随便往嘴里塞快捷栏里的东西来填满饥饿值。


运作方式

在原版 Minecraft 中,食物只是补充你的饥饿条和饱和度。有了这个模组,你吃下的每一种食物都会占据自己的槽位(上限可配置),在其生效期间,它会给予你额外最大生命值、速度或其他属性加成等奖励。每个槽位都会随时间倒计时,持续时间耗尽后就会消失,所以你需要持续进食来维持效果,而不是吃一次就抛诸脑后。

不同食物给予不同加成,持续时间也各不相同,因此现在吃各种不同的食物确实很重要,而不只是随便抓一个饥饿值最高的。食物属性对每个模组开箱即用,但你随时可以在配置页面更改这一点。

滋养

在所有槽位都已填满,且每种生效食物都仍高于其持续时间的 95% 时进食,你就会获得 滋养(Nourishment),其持续时间等于你最短的那个生效食物的时间。它会加快自然生命恢复,阻止通常伴随饥饿效果而来的额外食物消耗,并驱散你身上的所有有害效果——无论是你已经拥有的,还是在其持续期间被施加的。吃一种你已经生效的食物会把它补满,而在满槽时吃一种新食物会替换剩余时间最少的槽位,所以你永远不会被阻止进食。

营养衰减

反复吃同一种东西的效果会变差。每当你吃一种食物,它就会衰减 1%,这直接减少其加成持续的时间。加成本身的强度保持不变——只是你维持它的时间变短了。继续吃它,它就会继续下降。没有任何机制会自动重置它。

能把它赢回来的是多样性。模组会记住你最近吃过的 3 种不同食物,任何跌出这个列表的食物,都会在你每次吃其他东西时恢复 1%。所以一种你有一阵子没碰的食物,会在你吃其他东西的同时慢慢爬回满强度。

实际效果就是三种食物来源不够。恰好按你的槽位数量轮换,会让相同的食物永远留在最近食用列表上,因此它们永远不会恢复——你需要一个比槽位更丰富的储藏库。一种食物永远不会低于其配置持续时间的 10%,所以一种你过度依赖的最爱会缩短但绝不会变得无用。

将 doNutritionDecay 设为 false 即可关闭整个系统;衰减速率、窗口和下限也都是游戏规则。补满一种你已经生效的食物也算作吃它,所以它会像占用一个新槽位一样衰减,并补回其缩减后的持续时间,而不是完整时长。每个玩家都有自己的数值和各自的最近食用列表,两者都会随世界一起保存。

游戏规则

模组新增了十五条游戏规则,供服务器范围自定义:

游戏规则 默认值 描述
renourisheddelight:playerStartingHearts 20 任何食物加成之前的基础最大生命值
renourisheddelight:maxConsumableFood 3 同时生效的最大食物数量
renourisheddelight:foodDrainRate 100 生效食物的倒计时速度,以百分比计(50 为半速,0 为永不消耗)
renourisheddelight:regenHealthTickInterval 60 自然生命恢复之间的刻数(滋养状态下快三倍)
renourisheddelight:regenDelayAfterDamage 60 受到伤害后自然恢复可以重新开始前需要等待的刻数
renourisheddelight:nutritionDecayRate 1 每次食用时食物衰减的持续时间百分比,一旦离开最近食用列表就会恢复
renourisheddelight:nutritionDecayWindow 3 在较早的食物开始从营养衰减中恢复之前,你必须吃多少种不同食物
renourisheddelight:nutritionDecayFloor 10 一种食物可以被消耗至其配置持续时间的最低百分比
renourisheddelight:doNutritionDecay false 反复食用同一种食物是否会缩短其加成持续时间
renourisheddelight:doSleepFoodDrain true 跳过夜晚是否会消耗食物,按跳过的夜晚比例缩放,对每个玩家生效
renourisheddelight:doNourishment false 在所有槽位已满且每种生效食物都高于 95% 时进食是否给予滋养效果
renourisheddelight:doStarvation true 在玩家没有生效食物时施加配置的饥饿效果

食物始终可以食用。一种你已经生效的食物会在它已占据的槽位中补满,一种你未生效的食物会占用一个空闲槽位,如果没有空闲槽位,它会替换剩余时间最少的那个。手持一种你已经生效的食物时,它在 HUD 中的进度条会脉动,以显示它将落到哪里。

饥饿效果、生命恢复和睡眠都会以固定消耗消耗食物,并受 foodDrainRate 缩放;当玩家没有生效食物时,自然恢复会被禁用。

配置

所有设置也可在游戏内编辑:打开暂停菜单(或在 Fabric 上使用 ModMenu / 在 NeoForge 上使用模组列表),选择 Renourished Delight 即可进入设置界面。

config-item-listing

config-item-bonuses

配置也可作为配置文件使用:

客户端配置
选项 默认值 描述
foodBarOffsetX 0 食物显示 UI 的水平像素偏移
foodBarOffsetY 0 食物显示 UI 的垂直像素偏移
goldenPaletteItem minecraft:golden_carrot 用于为金质效果着色采样调色板颜色的物品 ID
showFoodDisplayInInventory false 是否在物品栏界面旁渲染生效食物物品面板
clipOddMaxHealthHeart true 当最大生命值为奇数时,是否裁剪最后一颗心的无法填充的半格,而不是显示一颗永远无法填充的半心
compactHealthBar false 是否将生命值绘制为一行 10 颗心,按最大生命值比例填充,而不是堆叠额外的心形行
通用配置
选项 默认值 描述
config.foods [] 按物品的属性加成。只列出你自定义的物品;任何未列出的物品都会回退到由其营养值和饱和度推导出的最大生命值加成。一个条目是该物品的完整定义,因此只列出游泳速度加成则只给予游泳速度
config.multipliers [] 授予加成时应用的按属性持续时间倍率。未列出的属性使用 1.0;存储的按物品持续时间不受影响
config.starvation 缓慢、挖掘疲劳、虚弱 玩家没有生效食物时按阶段施加的效果

命令

两者都需要权限等级 2,因此是管理员和开启作弊的单人世界。

/renourisheddelight clear [<targets>] 清空玩家的食物栏,移除所有生效食物及其加成。没有目标时清除你自己的。

/renourisheddelight decay reset [<targets>] [<item>] 清除累积的营养衰减,将受影响的恢复回其完整持续时间。没有目标时重置你自己的,指定物品时只重置该食物,而不是全部。

兼容性

对原版食物开箱即用,并且旨在与其他食物模组良好配合,包括 Farmer's Delight 和 Neapolitan。受支持模组的预设随模组本身一同发布,并可从配置界面按物品调整。

反馈与问题

发现 bug 或有建议?在 GitHub 仓库 上提交 issue。