营养

营养

一个轻量且可配置的食物营养系统,其运作方式不同于“Spice of”系列模组,并影响最大生命值。Fyxe的特质模组。

食物

Minecraft 的食物机制乏善可陈,而我觉得大多数与食物相关的模组都矫枉过正了。这是我对营养系统的尝试,它不引人注目、使用有趣且高度可配置。目标是让所有食物都成为你游戏流程中相关的一部分。使用直接设置物品营养数据的方式,并为没有该数据的食物提供正则表达式回退方案。


关于标准的 xkcd 漫画

这是为 Minecraft 版本 **1.21.1** 制作的,尚未在更高版本上测试。

使用代谢计量器

概述

太长不看:(真的非常简单,我发誓)

  • 食物会为营养类别做出贡献,这些类别会随时间衰减
    • 基于它们的营养值/饱和度值
    • 你的等级越高,衰减速度越慢(可配置)
  • 最大生命值由你所有类别的填充程度决定。
    • 可以在配置中设置最小值
  • 改变了一些食物机制(全部可配置)
    • 饥饿值随时间增加
    • 吃饱时也能进食
    • 增加了一个物品来查看营养
  • 默认支持流行的模组
  • (默认关闭)可以按名称启用玩家类别衰减率!(这样不同的人会以不同的方式感到饥饿)

兔肉煲,默认工具提示 --> 兔肉煲,高级工具提示

如图所示,工具提示与 Thirst was taken 以及 Freeze it and Heat it 兼容。

为什么要使用这个模组?

  • 它的运作方式不像“Spice Of”类模组,也不追踪你吃过哪些食物的列表
  • 它被设计为极其轻量级的用户体验
    • 只增加 1 个物品
    • 工具提示默认折叠
    • 数字是刻意这样设计的,以防止极限优化并鼓励尝试
  • 高度可配置且支持模组
    • 参见下方的配置部分
    • 可以通过简单的 json 轻松为食物添加支持
  • 让传统上无用的食物变得相关
  • 增强生存体验并鼓励多样化的饮食习惯
  • 内置模组支持:
    • Artifacts
    • Ben's Sharks
    • Brewin and Chewin
    • Burnt
    • Critters and Companions
    • Cold Sweat
    • Corn Delight
    • Enderscape
    • Ends Delight
    • Expanded Delight
    • Farmer's Delight
    • Freeze it and Heat it
    • Minecolonies
    • More Delight
    • Nether Depths Upgrade
    • Oceans Delight
    • Rustic Delight
    • Tide & Tide2

在一个苹果上展示该系统。

快速示例!

  • 要获得最大生命值,你需要将所有类别都填满。这使得饼干和甜菜根之类的东西比以往任何时候都更有用!
  • 吃相同的高饱和度食物来治疗会使你的饥饿值满格,但会随着时间推移降低你的最大生命值。
  • 如果能有一个专门的厨师/营养教练就太好了!
  • 与其他食物模组搭配得非常好(而且你可以自己添加更多支持!)

详情

该系统如何运作?

  • 玩家按类别追踪营养,这些营养会随时间减少
    • 是一个从 0 到 100 的值
    • 默认类别是肉类、水果、蔬菜、碳水化合物、甜食
    • 可以在配置中更改
  • 这些类别的平均值就是你的营养分数。
  • 玩家的最大生命值由他们的营养分数决定。
    • 存在一个最小生命值以防止最大生命值变得非常低。
  • 要增加玩家的营养类别,你必须吃含有该营养的食物。
  • 食物在数据中按类别百分比设置
    • 例如,苹果是 100% 水果,而兔肉煲是 50% 肉类、30% 蔬菜和 20% 碳水化合物
  • 食物的营养价值由其 Minecraft 营养值和饱和度决定
    • 例如,苹果有 4 营养值和 2.4 饱和度,因此其营养计算如下
    • 苹果 = 水果:(4 * 营养修正值) + (2.4 * 饱和度修正值)
    • 修正值在配置中设置

为什么 X 食物只被设置为 Y 类别?

这个模组的平衡设计是为了鼓励食物多样性。一种食物所属的类别越多,你需要吃的多样化食物就越少。因此,像苹果(天然含有糖分)这样的东西不会贡献到“甜食”类别。

  • 这可以通过使用数据包配置食物来更改!

这个模组支持其他模组吗?

是的!你可以创建自定义数据包来为模组物品添加信息,或者更改我已配置物品的默认值。

data/ffnutrition/item_nutrition/MODNAME/item.json

示例:data/ffnutrition/item_nutrition/minecraft/rabbit_stew.json
{
  "values": [0.5, 0.0, 0.3, 0.2, 0.0]
}
  • 每个值是食物中该类别所占的百分比。

你也可以更改类别

data/ffnutrition/item_nutrition/nutrition_categories.json

什么是可配置的?

字面意义上我能想到/实现的所有东西。你可以做一些奇怪的事情,比如为非食物物品启用它。我目前对牛奶就是这样做的!

  • 营养类别
    • 名称
    • 类别数量
  • 营养
    • 初始值
    • 每刻衰减
    • 在创造模式下启用衰减
    • 最大和最小生命值
    • 食物饱和度和营养修正值(Minecraft 营养值,不是 FFNutrition)
  • 物品营养回退
    • 完全启用/禁用
    • 营养值
  • 饥饿衰减
    • 完全启用/禁用
    • 刻数
    • 饥饿衰减量
    • 饱和度衰减量
    • 在创造模式下启用

有命令吗?

当然有!有两组命令,一组供普通玩家使用,另一组用于调试。

玩家

ffnutrition getNutritionDataVague [PLAYERNAME]
  • 会暗示你的整体营养水平
  • 会给出你严重缺乏的类别

调试

这些需要权限等级 2+

ffnutrition getNutritionData [PLAYERNAME]
  • 给你准确的营养分数和类别值
ffnutrition maxAllNutrients [PLAYERNAME]
  • 将给定玩家的所有营养类别设置为 100
ffnutrition minAllNutrients [PLAYERNAME]
  • 将给定玩家的所有营养类别设置为 0
ffnutrition setAllNutrients [PLAYERNAME] [VALUE]
  • 将给定玩家的所有营养类别设置为 VALUE
ffnutrition addToCategory [PLAYERNAME] [CATEGORY] [VALUE]
  • 将给定玩家的营养 CATEGORY 增加 VALUE
ffnutrition setCategory [PLAYERNAME] [CATEGORY] [VALUE]
  • 将给定玩家的营养 CATEGORY 设置为 VALUE

其他

我可以在整合包中使用吗?

是的!这正是我最初设计它的目的。

已知问题

  • 可能对模组放置的食物方块存在兼容性问题
  • 可能与某些修改玩家生命值的模组不兼容(或产生奇怪的交互)
  • 这是我的第一个实质性模组,肯定还有其他我不知道的 bug

FF 前缀是什么意思?

它代表 Fyxe's Features!这是一种在更改配置或创建数据包时轻松找到我所有模组的简洁方式。属于“FF”系统的模组通常更小且不引人注目。

反馈

如果你有任何改进的想法、问题或疑虑,我愿意通过电子邮件沟通:FyxeINCFeedback@gmail.com