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。
相關內容品質行、品級顯示和漸層方案可在顯示章節繼續了解。
檢視顯示美化 →