跳到正文

A Balanced Diet

作者:pawjwp

一套可自定义、以食物类别为基础的营养与饮食系统,基于 Diet 模组分支开发。

收藏

截图

介绍

介绍由机器翻译自 Modrinth 原页面,仅供参考。

关于

A Balanced Diet 是 Diet模组的一个分支,旨在简化 Minecraft 中饮食食物组的创建与管理。Diet 默认配置包含五种经典食物组(水果、谷物、蔬菜、蛋白质和糖类)。该模组高度可配置,用户和整合包开发者可以自定义食物组、分类、饮食效果、通知等内容。

创建此分支是为了增加一些说明、平衡性和生活质量功能。原本可以将这些功能作为 PR 提交给原模组,但作者表示该模组很可能不会再推出任何 1.20.1 更新。这些新功能几乎都是可选的,并由数据驱动,包括用于跨越指定阈值的通知系统、显示哪些阈值会开始产生正面或负面效果的饮食条品质覆盖层,以及按食物定义营养值。

下载

Available on Modrinth Available on Curseforge

功能

食物组

食物组是自定义的饮食类别,代表你吃过的食物类型。每个组的数值介于 0% 到 100% 之间,具体取决于玩家吃了多少该类别的食物。玩家食用不同类型的食物时,对应数值会增加;玩家消耗饥饿值时,每个组的数值都会逐渐衰减。

Diet 默认包含五种经典食物组:水果、谷物、蛋白质、蔬菜和糖类。营养值通常由标签决定。不过,如果在配置中启用相关选项,也可以按食物设置营养值。

用户和整合包开发者可以通过创建数据文件来添加自定义食物组。数据文件可以作为数据包加载,也可以使用KubeJS或Open Loader等模组加载。可配置选项包括:

  • 名称
  • 物品图标
  • 十六进制颜色代码
  • 排序
  • 默认值
  • 增益倍率
  • 衰减倍率
  • 是否有益

饮食效果

饮食效果是根据特定的可配置食物组数值,对玩家施加的自定义奖励或惩罚。这些效果定义在饮食方案中;与食物组一样,饮食方案也通过数据文件创建。饮食方案会列出其使用的食物组,以及由这些食物组触发的效果。

效果可以是任何已注册的药水效果,包括原版和模组添加的效果,也可以直接修改属性(例如,将最大生命值增加任意数值)。这些效果的触发条件高度可配置,包括检查特定数值、仅检查部分食物组、对每项符合条件的测试累积应用效果等。

品质视图

品质视图会显示食物组的“品质”,让玩家了解哪些阈值会带来正面或负面效果。使用客户端配置中的qualityDisplayMode选项,可以设置为悬停在食物组条上时显示、点击 Diet 界面角落的按钮时显示、两者皆可,或均不显示(默认)。

可以使用quality字段为饮食方案中的任何效果定义品质值。该字段设为包含十六进制颜色代码的字符串(例如:"#3FDF3F")。启用品质视图时,该颜色会覆盖显示在对应的饮食条区域上。

按食物设置营养值

如果启用了服务器配置中的enableDataFoodValues选项,就可以按食物设置营养值,而不再根据标签生成。Diet 会读取位于diet/food_values的数据文件,获取每种食物的营养值,并以此替代基于标签的营养值。

默认数据包已为约 20 个模组配置了数值。这些数据文件支持的模组列表可在此处查看。

通知

通知是一种可选系统:当玩家的食物组数值达到阈值时,会在聊天中提醒玩家。你可以在饮食套件中为饮食效果添加一个 notification 对象来自定义通知。可配置的选项包括:

  • 通知 ID
  • 消息(使用翻译键)
  • 通知集合(用于批量静音)
  • 触发条件(控制通知出现的原因)
  • 默认频率(通知出现的次数)
  • always:每次满足触发条件时都会显示通知
  • once:通知只显示一次,之后将设为永不显示
  • never:除非使用测试命令触发,否则不会显示通知

如果通知的频率设为 always,系统会提示玩家将其静音。点击后,聊天中会打开静音菜单,玩家可以选择将此通知静音、将同一集合中的所有通知静音、将同一食物组的所有通知静音,或将所有饮食通知静音。玩家也可以使用 /diet notifications 命令手动调整通知设置,并且可以通过服务器配置中的 notificationsEnabled 选项禁用整个通知系统。

延伸阅读

有关此模组功能的详细信息,请参阅 wiki,其中包括 食物组、食物分类、每种食物的营养值和 饮食套件。在我的整合包 Desolate Planet 的数据文件中,这里可以找到大多数模组功能的实际示例。

命令

Diet 注册了几个命令,可用于协助调试和服务器管理。

  • /diet
  • get <player> <group>
  • set <player> <group> <value>
  • add <player> <group> <value>
  • subtract <player> <group> <value>
  • reset <player>
  • suite <player> [<suite>]
  • pause <player>
  • resume <player>
  • export <filter> <argument>
  • notify <target> <notification_id>
  • notifications list
  • notifications all
  • notifications group <group_id>
  • notifications set <set_id>
  • notifications message <message_id>
  • notifications options <message_id>
  • notifications reset

支持

请通过模组的 GitHub 页面上的问题追踪器报告所有错误、问题和功能请求。对于此分支独有的功能,请不要在原模组的 GitHub 页面上提交问题。

如果你愿意,也可以在我当前整合包 Desolate Planet 的 Discord 服务器上联系我。欢迎在那里 @ 我,我有空时会尽量回复。

许可协议

所有源代码和资源均采用 LGPL 3.0 许可。

捐赠

你可以通过 Ko-fi 向原模组作者捐赠。

本项目的广告收入将全部捐赠给 GiveWell。

兼容性

标准的“五大食物组”标签系统支持许多模组,相关列表可在原模组介绍中的 这里查看。

自定义食物数值系统仅支持其中一部分模组。相关列表可在模组的 默认数据包中找到。这些默认数值假设水果和蔬菜的消耗速度降低,而糖类的消耗速度大幅提高。

如果你想为此系统请求支持更多模组,请提交一个 问题,或直接贡献代码并提交 拉取请求。

常见问题

A Balanced Diet 支持哪些 Minecraft 版本?

A Balanced Diet 支持 Minecraft Java 版 1.20–1.20.6,共 7 个版本,可用的加载器:Fabric / Forge。下载时注意选择和你游戏版本一致的文件。

A Balanced Diet 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

pawjwp 的其他作品

查看全部 →