Healthy DietFEATURE GUIDE中文
03 / QUALITY & RARITY

品质、品级与独立物品,分别配置。

品质决定附加的品质标识,品级改变物品稀有度显示;注册品质物品会创建新的物品 ID。三者不是同一项设置。

品质绑定品级覆盖独立物品 ID
重要区分:修改现有物品的品质/品级不等于注册新物品。新增或删除独立注册物品涉及启动期注册;不要把热更新定义与新增物品注册混为一谈。

01三种功能如何区分

品质使用字符串 ID 定义品质文字、分段样式和可选覆盖层;现有物品可通过 quality 字段绑定。
品级用于物品名和稀有度标签,可以选择自定义品级或原版稀有度;不创建新物品 ID。
注册物品基于来源物品注册一个独立 ID,可指定品质、名称、模型、食用属性和堆叠上限。
源码依据:ItemConfig.quality、ItemConfig.rarity、QualityRegistryEntry。

02品质定义与绑定

品质 ID 是字符串,不是旧式数字等级。合法 ID 为 1–64 位小写英文字母、数字及 _、-、.。

每个品质的定义来自数据包 data/<命名空间>/healthy_diet/quality_levels/<id>.json。可以设文字、颜色或配色方案、分段文本及覆盖层贴图;定义的 ID 可供现有物品的「品质绑定」选择,也可供注册新物品引用。

配置路径示意

config/healthy_diet/datapack/data/healthy_diet/healthy_diet/quality_levels/fresh.json

此处的 fresh 只是合法文件名示例,并非一定存在的预设品质。

打开 /hdui create 可管理品质定义;手持物品打开 /hdui 可把品质绑定到该物品。定义修改可刷新并同步;是否看到覆盖层取决于客户端资源与使用的显示组件。

/hdui create · 品质 Tab · 依据源码绘制的只读 HTML 示意,不是游戏截图/实时服务器数值;空字段为新建状态。
HD 创建  [创建] [删除] [+]
+ 新建条目已有品质列表 (不展示实值)
ID新建时填写;保存后 ID 只读
覆盖层路径 / [1 → 2 → 3 → ? 循环] / 贴图预览
文本[编辑文本 (分段)] [清除]
预览:按当前文本草稿展示 (非服务器实值)
ID、文本与覆盖层不合法时显示错误提示;新建时无可删除文件。
列表选中已有 ID 后可修改/删除品质定义;分段编辑包含每段文本、颜色与动画。只建立定义不会把品质绑定到任何物品。
界面依据:HdCreateScreen.buildQualityForm/qualityErrors;本页示意标签按当前 zh_cn 对照。
操作顺序

先创建或确认品质 ID,再为已有物品设置 quality 引用。只创建定义不会自动给所有食物添加品质;只填写不存在的 ID 也不能凭空生成对应文字或贴图。已经绑定该 ID 的物品会使用更新后的品质定义。

源码依据:QualityLevelConfig.ID_PATTERN、segments、overlay、HdCreateScreen。

03品级:为物品指定稀有度

品级可配置文字、配色与动画。给物品绑定品级可用 /hdset rarity <品级id> [物品ID] (OP2),也可在物品编辑器中选择;清除覆盖用 /hdset rarity clear [物品ID] (OP2)。不带显式物品 ID 时以主手命中的 NBT 变体为目标;带 ID 时操作物品级兜底。

/hdui create (OP4) 的“品级”Tab 管理品级定义;ID 仅允许 1–64 位小写字母、数字及 _。分段文字编辑后可新建、修改或删除,并查看状态。新增有效品级定义由代理枚举即时生效并同步,不要把历史“待重启”提示当成通用条件;定义无效时则需要检查文本与配色。

/hdui create · 品级 Tab · 依据源码绘制的只读 HTML 示意,不是游戏截图/实时服务器数值;不冒充服务器现有品级。
HD 创建  [创建] [删除] [+]
+ 新建条目已有品级列表 (不展示实值)
ID新建时填写;已有条目只读
文本[编辑文本 (分段)] [清除]
状态新建品级:保存后即时生效并自动同步
ID/文本不合法时显示错误提示并禁用保存;删除需选中已有条目。
此处只编辑品级定义,不对手持物品绑定;已有定义状态可显示“已生效”或无效原因。
界面依据:HdCreateScreen.buildRarityForm/rarityErrors、CPacketCreateEntry.RARITY_ID_PATTERN 与当前 zh_cn 标签。
给同一物品不同变体配色

先给物品设通用品级,再按需要给某个 NBT 变体单独指定:只有命中该变体的物品会使用变体覆盖,其余仍使用通用品级。要清除命中变体的品级,手持该变体执行不带 ID 的 /hdset rarity clear;带物品 ID 的命令清除的是 item_rarities.json 中的物品级兜底。清完仍须检查下一层来源,「清除覆盖」不保证变成白色名称。

  • 1命中的 NBT 变体优先;未设置时依次回落到通用条、物品级 item_rarities.json,最后是物品原始稀有度。
  • 2新增品级定义可通过代理稀有度显示并热更新,不应把界面中的历史“需重启”提示当成所有品级的实际要求。
  • 3变更品级只影响稀有度与物品外观,不会凭空生成新的品质注册物品。
源码依据:ItemConfig.rarity、RarityManager.DATAPACK_PROXY_ID、HDSetCommand。

04独立注册物品

通过 /hdui registry (OP4) 打开品质注册管理器,可查看、刷新或删除注册项;/hdui create 的三个 Tab 不负责注册新物品。每条注册定义指向来源物品,并设置注册名、品质 ID、食用或饮用动作、堆叠数量等。

与绑定现有物品不同,注册项会生成新的 healthy_diet 物品 ID;物品注册发生在启动阶段。定义保存在本机 config/healthy_diet/quality_registry/*.json;管理器修改的是待下次启动生效的方案,不能通过 /hdreload 使全新的 ID 立即进入当前物品注册表。

从定义到可发放

先确定来源物品与注册名,再选择是否绑定已有品质 ID、是否可食用及堆叠/资源选项;保存后分发同一注册清单和所需客户端资源,按服务器与客户端的注册流程重启。/hdreload 可重读待生效列表,但不会把新增 ID 插入已运行的世界。

多人服务器:新增注册 ID 时,服务器和客户端需要一致的注册定义与资源。不要仅在服务端热重载后就向在线玩家发放尚未注册的新物品;先完成分发并按注册流程重启。
源码依据:QualityRegistryEntry、ConfigManager 注册方案与 HDReloadCommand。
相关内容品质行、品级显示和渐变方案可在显示章节继续了解。
查看显示美化 →