LV. 46
GP 4k

1.20.5 (上)

樓主 peter peterjiang

MINECRAFT JAVA EDITION 1.20.5

The Armored Paws Drop Now Out for Java
你聞到了嗎?啊是的,這是週二發布日的神奇、有說服力的氣味——這是多麼糟糕的發布日!
今天我們發布的是Minecraft: 1.20.5 Java版,也稱為Armored Paws drop!前往莽原和惡地生態域向可愛的犰狳問好。尋找並結識八種新的狼變種,為您的犬類同伴裝備由犰狳鱗片製成的可染色盔甲並一起冒險!
在技術方面,Armored Paws drop的發布也對Java版生成區塊的方式進行了更改,我們在今年早些時候的快照24w03a工作日誌中詳細介紹了這些更改。此版本的改變是我們將重生點區塊半徑設置為可配置的遊戲規則,並將預設值減少98%。對於大多數玩家來說這應該會成為顯著的性能提升!
那你還在等什麼?儲備食物和水並開始閱讀下面完整的長長的1.20.5更新日誌。
祝刷鱗甲愉快!

新功能

  • 加入犰狳和犰狳鱗甲
  • 加入狼鎧
  • 加入狼的變種

犰狳

  • 犰狳是新的友好生物
  • 犰狳會定期掉落犰狳鱗甲,刷牠時也會
  • 犰狳在莽原和惡地生成
  • 犰狳最喜歡的食物是蜘蛛眼
    • 犰狳可被蜘蛛眼吸引
    • 餵食兩隻成年的犰狳蜘蛛眼可使牠們繁殖
    • 餵食小犰狳蜘蛛眼使牠們長
  • 犰狳在偵測到以下威脅時會蜷縮:
    • 疾跑、騎生物或乘坐交通工具的玩家
    • 最近攻擊的生物或玩家
  • 犰狳在以下情況下不會蜷縮:
    • 逃跑,在水中,在空中,或在船上時
  • 當犰狳蜷縮時:
    • 不會移動、吃東西,也不會被食物吸引
    • 牠的殼會保護牠,減少傷害甚至完全抵抗弱攻擊
    • 牠會繼續偵測周圍的威脅並偶而偷看四周環境
      • 如果4秒沒有偵測到威脅會停止蜷縮
  • 蜘蛛和洞穴蜘蛛會逃離未蜷縮的犰狳

犰狳鱗甲

  • 犰狳會定期掉落犰狳鱗甲,或者在犰狳被刷時掉落
  • 犰狳鱗甲可以用來合成狼鎧
  • 發射器可用來刷犰狳上的犰狳鱗甲

狼鎧

  • 狼鎧可用犰狳鱗甲製作,也可用類似於皮革盔甲的方式染色
  • 狼鎧將保護狼免受大多數類型的傷害,直到盔甲失去所有耐久度並破裂
  • 隨著耐久度的下降,狼鎧顯示出破損增加的跡象
  • 玩家可以在狼鎧裝備在狼身上時用犰狳鱗甲修復狼鎧
  • 對穿著盔甲的狼使用剪刀會掉落盔甲
  • 狼鎧只能裝備在馴服的成年狼身上
  • 只有狼的主人可以裝備、修復和剪下狼鎧
  • 發射器無法裝備或移除狼鎧

狼的變種

加入新的狼的變種。變種由牠們生成的生態域決定。狼一次生成一群,預設一群大小為4。
  • 蒼狼 - 我們都熟悉的狼,該變種在針葉林生態域中生成
  • 森林狼 - 生成於森林生態域中的變種,這是您將能夠在主世界中找到的主要的狼變體,因為森林生態域非常常見
  • 灰狼 - 生成於冰雪針葉林態域中的變種
  • 黑狼 - 生成於原生松木針葉林生態域中的變種,2-4隻為一組生成
  • 栗狼 - 生成於原生杉木針葉林生態域中的變種,2-4隻為一組生成
  • 鐵鏽狼 - 生成於稀疏叢林生態域中的變種,2-4隻為一組生成
  • 斑點狼 - 生成於疏林惡地生態域中的變種,4-8隻為一組生成
  • 條紋狼 - 生成於莽原高地生態域中的變種,4-8隻為一組生成
  • 雪狼 - 生成於雪林生態域中的變種,此孤狼是一種罕見的類型因為牠總是獨自行走
當以其他方式召喚時(例如,使用生怪蛋或使用summon指令),變種選擇遵循自然生成生態域規則,並具有以下擴展:
  • 鐵鏽狼:將在所有類似叢林的生態域中被選中,包括叢林和竹子叢林生態域
  • 斑點狼:將在所有類似莽原的生態域中被選中,包括莽原和風蝕莽原生態域
  • 條紋狼:將在所有類似惡地的生態域中被選中,包括惡地和風蝕惡地生態域

進度

  • 加入下列進度:
    • Isn't It Scute? - 使用刷子從犰狳身上取得犰狳鱗甲
    • Shear Brilliance - 使用剪刀移除狼身上的狼鎧
    • Good as New - 使用犰狳鱗甲修復耗損的狼鎧
    • The Whole Pack - 馴服所有種類的狼
Steve正在試驗不同的藥水效果,周圍可看到不同顏色粒子,點擊此處取得完整圖像。
更新後的Minecraft選擇視窗有新的透明背景,點擊此處取得完整圖像。
犰狳家族在惡地的紅沙上行走,點擊此處取得完整圖像。
蜷縮的犰狳在偷看殭屍是否走了,點擊此處取得完整圖像。
Ari在與穿著彩色狼鎧的馴服的狼共同作戰,點擊此處取得完整圖像。
Efe嘗試馴服莽原高地的條紋狼,點擊此處取得完整圖像。
Ari帶著一群緊跟在後的馴服的不同變種的狼跳過峽谷,點擊此處取得完整圖像。

改變

  • UI已更新,外觀更清新
  • 減小了重生點區塊的預設大小,並可設定其配置
  • 更新了馴服的狼預設的生命值和傷害
  • 調整狼的生成條件,允許在粗泥和灰壤上生成
  • 調整了狼項圈圖層的材質使其與新的狼鎧更加一致
  • 調整雪林生態域中被動生物的生成,只包括兔子、狐狸和狼
  • 微調方塊、物品和實體
  • 加入使用CJK字元的日語變體的選項
  • 加入皮欽語
  • 當實體離開或進入終界時現在會載入目標區域15秒,與地獄傳送門的行為相同
  • 改進遊戲性能
  • 改進保存和載入過程中的錯誤處理

UI更新

UI已更新,外觀更清新,在不同UI元素的佈局方面更加一致,同時保留了舊螢幕的精髓和感覺。
  • 選單背景的泥土材質更新為更深的背景
    • 泥土材質移動到內建的Programmer Art資源包
    • 在遊戲外,選單的全景圖在所有視窗中顯示
    • 在遊戲內,世界在所有視窗中都顯示
    • 與更深的背景搭配的是模糊
      • 模糊的強度可以在協助工具設定中配定
      • 遊戲內視窗如容器和書不受這些更改的影響
  • 視窗元素如標題和按鈕在不同視窗上的位置更加一致
  • Realms中的玩家和世界備份螢幕已更新
  • 列表的頂部和底部現在有更清晰的邊框
  • 將滑鼠懸停在元素之外時按鈕工具提示將不再顯示
  • 在擊敗終界龍並進入終界傳送門後,終界之詩和工作人員列表現在會以基於終界傳送門動畫效果的背景顯示
  • 更改維度前往或離開地獄時將顯示地獄傳送門材質動畫
  • 更改維度前往或離開終界時將顯示終界傳送門效果動畫

重生點區塊的改變

  • 重生點區塊的大小從半徑10(19x19實體刻區塊)改成2(3x3實體刻區塊)
    • 這樣做是為了減少記憶體使用率、載入時間和CPU使用率
    • 我們選擇不完全刪除重生點區塊,以允許當前使用此功能的玩家繼續這樣做
  • 加入新的遊戲規則spawnChunkRadius來設定重生點區塊的大小
    • 允許值的範圍為0到32,其中0完全禁用重生點區塊且10與改變之前相同
    • 預設值為2,相當於3x3實體刻區塊
    • 注意將此值設置為較大值可能需要在啟動器中為遊戲分配更多記憶體

馴服的狼的血量和傷害

  • 馴服的狼現在有現在有40滴血(20顆心)而不是20滴血(10顆心)
  • 牠們不再像以前那樣從大多數環境來源中承擔一半的傷害
    • 在大多數情況下,考慮到生命值的提升,這種變化不會有任何區別,但現在它們可以承受更多來自玩家和箭矢的傷害
  • 餵狼食物現在可以治療兩倍的生命值

微調方塊、物品和實體

  • 海龜的鱗甲更名為海龜鱗甲
  • 蜘蛛網加入獨特的音效
  • 物品提示框中的附魔總是以相同順序排列,不論加入的順序為何
  • 調整了蜜蜂和鸚鵡的飛行行為,以防止它們在上下飛行時超出其位置
  • 羊駝和界伏蚌不再會破壞盔甲座
  • 狀態效果粒子顏色不再混合為一種粒子顏色
    • 現在所有可見的狀態效果粒子都單獨渲染
  • 在創造模式下Ctrl+選取一個重新命名的方塊(例如儲物箱)現在會給予一個重新命名的物品
  • 使用Ctrl+選取方塊不再在物品提示列出「(+NBT)」

協助工具

  • 現在在使用Tab鍵或方向鍵導航時進入或退出任何功能表時始終設置預設聚焦位置
  • 加入了一個新的協助工具選項用於控制選單打開時背景模糊的強度

日文字體變體

  • 加入了新選項,用於為某些CJK文字選擇日文變體
  • 替換來自日文版的Unifont字體的字形
  • 新的選項包含新的「字型設定」選單,可從「語言」選單中選擇
  • 這個選項的預設值是根據系統區域設置語言設置
  • 「使用Unicode」按鈕移置「字型設定」

性能改進

  • 改進漏斗性能
  • 如果漏斗上面有全方塊則不再嘗試拾取物品實體
    • 蜂箱和蜂窩是例外
    • 不影響漏斗礦車
  • 縮短了生成埋藏寶藏的探險家地圖所需的時間

改進保存和載入

  • 在單人遊戲中,當在載入或保存區塊期間發生錯誤時,將在彈出式視窗中顯示警告
  • 嘗試加入可用磁碟空間少於64 MB的單人遊戲世界將顯示警告視窗
    • 此外,在遊戲中會定期顯示彈出式視窗警告
小小的Kai用scale屬性縮小了,點擊此處取得完整圖像。
大大的Sunny利用step height和scale屬性在櫻花樹林生態域走上三格高的階梯,點擊此處取得完整圖像。
在合成介面中使用自定義資料包用三根木棒合成「Stiiiiiick」,點擊此處取得完整圖像。
玩家食用使用附加食物組件的木棒,點擊此處取得完整圖像。
各種生物都用scale屬性調整,點擊此處取得完整圖像。

技術改變

  • 資料包版本現在是41
  • 資源包版本現在是32
  • 遊戲現在需要Java 21
  • 遊戲現在需要64位元作業系統
  • 包含的Java發行版現在是OpenJDK 21.0.3的Microsoft版本
  • 為自定義伺服器加入傳輸和cookie資料包
  • 加入了在專用伺服器上使用更快的區域檔壓縮演算法的選項
  • 為第三方伺服器添加了保留區域檔壓縮ID以用於自定義壓縮實現方式
  • 改變優化世界
  • 改進伺服器TPS除錯圖表
  • 允許伺服器管理員查看專用伺服器TPS除錯圖表
  • 為每個獨立的區塊讀取加入JFR(Java Flight Recorder)事件(minecraft.ChunkRegionRead)和寫入(minecraft.ChunkRegionWrite

網路協定

  • 通過重複使用部分原版資料包,減少了伺服器在登錄期間發送的資料量
  • 現在在進入配置階段時預設保留客戶端聊天狀態
  • 更改了遊戲客戶端在從伺服器發送的資料包中的無效資料上斷線的方法
    • 為了縮短過渡期,修改後的伺服器可以通過在 handshake/game_profile資料包的中設置適當的欄位來退出宣告
    • 這個選項將在下一個版本中刪除
  • minecraft:chat_command_signed資料包已從minecraft:chat_command中分離開來
    • 不接受任何簽名參數的指令將使用未簽名的資料包,並且將不會傳遞任何「last seen」的聊天更新

傳輸資料包

  • 自訂伺服器現在可以請求客戶端使用新資料包連接到另一台伺服器
  • 傳輸客戶端時,它將使用新傳輸意圖(id 3)
  • 預設情況下,伺服器將不接受傳入傳輸,並將斷開客戶端的連接
  • 這可以通過在server.properties檔中的accepts-transfers屬性設定為true來更改
  • 傳輸過程中維持資源包
  • 在傳輸的情況下,自定義伺服器可以在客戶端綁定hello資料包並使用新標誌跳過身份驗證

COOKIE資料包

  • Cookie資料包允許自訂伺服器在客戶端上請求和儲存數據
    • 每個cookie的大小最大為5 KiB
    • Cookies可能會在登錄、配置和遊玩階段請求,但僅在配置和遊玩階段儲存
  • Cookies在伺服器傳輸過程中保留,但在玩家斷線時不會保留
    • 這允許伺服器將身份驗證或自定義遊戲數據等資訊傳遞到新伺服器

區域檔壓縮演算法

  • 加入了專用伺服器配置屬性region-file-compression,有3個可能值:
    • deflate,預設選項,使用舊演算法
    • lz4使用LZ4演算法,其需要更少的CPU時間來壓縮和解壓縮,但需要更多的磁碟空間
    • none不會壓縮資料
      • 需要佔用更多的空間,並且需要大量的時間來讀取和寫入,即使CPU使用量更少
      • 與文件系統級壓縮在一起可能有意義
  • 更改壓縮演算法不會自動重新壓縮世界
    • 新的或更新的區塊將使用新配置的演算法,但舊的區塊將保持以前的格式

第三方伺服器的保留壓縮ID

  • 壓縮ID127現在可用於區域檔壓縮的自定義實現方式
  • 使用時,版本ID後必須接著一個命名空間字串以表示所使用的自定義演算法

優化世界的改變

  • 優化單人遊戲世界並使用forceUpgrade執行專用伺服器現在也升級世界的contentsof entitiespoi目錄
  • 新的recreateRegionFiles專用伺服器啟動參數
    • 它將觸發類似於forceUpgrade的優化世界,但也會獨立重寫所有區塊,無論它們是否已升級
    • 這將創建新的和經過碎片整理的區域檔
    • 更改region-file-compression伺服器屬性後使用此參數將以新格式重新壓縮所有區域檔

改進伺服器TPS除錯圖表

  • 和以前一樣可以在單人世界中按F3 + 2訪問
  • 圖表底部的深紅色部分顯示伺服器刻主邏輯期間花費的時間
    • 它等同於舊圖表中顯示的值
  • 淺棕色部分顯示執行計劃任務所花費的時間
  • 紫色部分顯示在一刻中執行所有其他代碼所花費的時間
  • 頂部的淺綠色(或黃色或紅色,取決於延遲)部分顯示閒置、等待下一刻所花費的時間
  • minavgmax 總計值基於前3個部分的總和
  • 允許伺服器管理員查看專用伺服器TPS除錯圖表

聊天

  • 客戶端聊天狀態(螢幕訊息和聊天輸入歷史記錄)現在由客戶端在進入和退出配置階段時保留
  • 訊息簽名鏈的處理保持不變 - 進入配置階段將啟動新會話
  • 如果客戶端配置了訊息延遲,則待處理訊息將在離開世界之前立即傳送
  • 伺服器可以通過在配置階段發送reset_chat資料包來清除聊天狀態

資料包版本27到41

遊戲現在使用的資料包版本是41,這些是相較於1.20.4的版本26的改變
  • 更名scute物品為turtle_scute
  • 改變物品對疊資料格式加入物品堆疊組件
  • 加入很多屬性
  • 加入新的戰利品函數
  • 加入新的進度述詞
  • 加入新的標籤
  • 配方可以產出包含組件的物品
  • 為旗幟圖案和狼的變種加入資料導向註冊表
  • 更改了指令和藥水效果雲中的粒子表示

物品資料格式

我們正在對特定於物品堆疊的屬性在此快照中的存儲和表示方式進行一些重大更改,將當前的NBT「標籤」替換為結構化組件。
進行此變更是為了:
  • 在載入時驗證物品屬性,從而更輕鬆地識別指令和資料包中的無效資料
    • 這應該可以避免在為任何潛在的未來格式更改指定自定義項資料的指令中出現任何「靜默」中斷
  • 持續發展遊戲以創建動態內容
  • 提升在遊戲需要頻繁查找物品的某些屬性時的性能(例如,盔甲紋樣每幀都在渲染)
  • 我們知道對於許多資料包和自定義地圖來說這是一個極為重大的更改,需要付出巨大的努力來升級
然而我們確信這為未來的可擴展性奠定了關鍵的基礎,我們已注意一次性發布這些更改,希望這可以避免將來需要對資料包進行許多小更新的增量更改。當前的NBT「標籤」已經存在了很長一段時間,我們知道我們已經為指令和資料包開發了很多聰明的技術。在快照系列中我們非常感謝您對這些更改的反饋,使我們能夠避免在沒有合適的替代方案的情況下丟失(通常是未記錄的)功能。
  • 無結構化的NBT資料附加到物品上(tag欄位)會被取代為結構化的「組件」
    • 載入物品時將分析和驗證此資料
    • 這應該可以提高當物品資料經常被比較或請求和解析時某些的場景(例如盔甲紋樣的渲染)中的性能
    • 自定義數據仍可存儲在minecraft:custom_data組件
  • 物品類型(例如minecraft:stick)在物品上包含一組預設組件,單個物品堆疊可以覆蓋這些組件
  • 序列化和資料包中物品的格式已更新,以確保一致性並支援組件
  • 指令中的物品語法已更新為支援組件
  • 當啟用高級提示框(F3+H)後將顯示組件數而不是標籤數
  • 物品的預設組件值現在列生成在reports目錄下的items.json
  • 方塊定義現在加入blocks.json(注意:這些定義尚未使用,僅供參考)

遷移的物品堆疊組件

這些物品堆疊組件用於替換以前在物品NBT中的現有功能。所有指令和資料定義都需要升級才能使用這些格式,而世界中的物品將自動升級。
minecraft:custom_data
  • 可用於物品的自定義資料存儲
  • 升級世界時,物品tag 中的任何非遊戲數據都將移至此處
  • 格式:帶有任何欄位的物件
    • 例如custom_data={some:'data'}
  • 可用set_custom_datacopy_custom_data戰利品函數修改
minecraft:damage
  • 從物品中失去的耐久度
  • 如果移除則物品不會損壞
  • 取代Damage標籤
  • 格式:非負整數
    • 例如damage=12
  • 可損壞的物品預設為:0
  • 可用set_damage戰利品函數修改
minecraft:repair_cost
  • 修改鐵砧中的物品所需的額外經驗值
  • 取代RepairCost標籤
  • 格式:非負整數
    • 例如repair_cost=12
  • 如果未設定則預設為:0
minecraft:unbreakable
  • 如果設定則物品在使用時將不會失去任何耐久度
  • 取代Unbreakable布林值標籤
  • 格式:帶欄位的對象
    • show_in_tooltip:布林值(預設:true
      • 如果true,則提示框將包含「無法破壞」文字
      • 取代HideFlags標籤的第三個比特
    • 例如unbreakable={}unbreakable={show_in_tooltip:false}
minecraft:enchantments
  • 在物品上存儲附魔及其等級的列表
  • 取代Enchantments標籤
  • 格式:帶欄位的對象
    • evels:附魔對象(ID字串)的等級(整數[0;255])
    • show_in_tooltip:布林值(預設:true
      • 如果false,則提示框中不會顯示任何附魔
      • 取代HideFlags標籤的第一個比特
    • 例如enchantments={levels:{'minecraft:protection':2},show_in_tooltip:false}
    • 或者可以定義為附魔ID到等級的內聯映射
      • 例如enchantments={sharpness:1}
  • 如果未設置則預設為:{levels:{}}
  • 可用set_enchantments, enchant_randomlyenchant_with_levels戰利品函數修改
minecraft:stored_enchantments
  • 存儲附魔書的附魔列表及其等級
  • 附魔提供的效果不適用於此組件
  • 取代附魔書的StoredEnchantments標籤
  • 格式:與minecraft:enchantments相同
    • show_in_tooltip值替換為HideFlags標籤的第六個比特
  • 在附魔書中預設為:{levels:{}}
minecraft:custom_name
  • 覆寫物品的名字
  • 取代display.Name標籤
  • 格式:JSON聊天組件字串
    • 例如custom_name='{"text": "This item is renamed!", "color": "red"}'
  • 可用set_name戰利品函數修改
minecraft:lore
  • 物品的提示框包含的額外文字
  • 取代display.Lore標籤
  • 格式:JSON聊天組件字串列表(最多64個條目)
    • 例如lore=['{"text": "The cake is a lie!"}']
  • 如果未設定則預設為:[]
  • 可用set_lore戰利品函數修改
minecraft:can_break
  • 控制冒險模式下的玩家可以使用此物品破壞哪些方塊
  • 取代CanDestroy標籤
    • 這些以前存儲為扁平字串,但現在使用的是戰利品表和進度中已經使用的更靈活的方塊述詞格式
  • 格式:帶欄位的對象
    • predicates:方塊述詞列表
      • blocks:方塊、方塊列表或井字號前綴的方塊標籤
      • nbt:要匹配的方塊實體NBT
      • state:狀態屬性鍵到用於匹配的值的映射
    • show_in_tooltip:布林值(預設:true
      • 取代HideFlags標籤的第四個比特
    • 例如can_break={predicates:{blocks:'minecraft:furnace',state:{facing:'north'}}
    • 或著可以用單個方塊述詞表示
      • 例如can_break={blocks:'minecraft:stone'}
minecraft:can_place_on
  • 控制冒險模式下的玩家可以使用此物品放置哪些方塊
  • 取代CanPlaceOn標籤
  • 格式:帶欄位的對象
    • predicates:方塊述詞列表
      • can_break.predicates相同
    • show_in_tooltip:布林值(預設:true
      • 取代HideFlags標籤的第五個比特
    • 例如can_place_on={predicates:{blocks:'minecraft:furnace',state:{facing:'north'}}
    • 或著,可以用單個方塊述詞表示
      • 例如can_place_on={blocks:'minecraft:stone'}
minecraft:dyed_color
  • 表示可染色物品(#minecraft:dyeable標籤)的顏色
  • 取代display.color標籤
  • 格式:帶欄位的對象
    • rgb:整數,RGB值
    • show_in_tooltip:布林值(預設:true
      • 取代HideFlags標籤的第七個比特
    • 例如dyed_color={rgb:16711680}
    • 或者可以定義為內聯整數RGB值
      • 例如dyed_color=16711680
minecraft:attribute_modifiers
  • 包含在物品上應用的屬性修飾符
  • 取代AttributeModifiers標籤
  • 格式:帶欄位的對象(預設:{modifiers:[]}
    • modifiers:屬性修飾符列表
      • type:屬性ID
        • 取代AttributeName
      • slot:下列之一:
        • any(預設)
        • hand:在主手或副手(新增)
        • armor:任何盔甲欄位(新增)
        • mainhand
        • offhand
        • head
        • chest
        • legs
        • feet
        • body(新增)
        • 只有當物品裝備在指定物品欄位時修飾符才會適用
        • 取代Slot
      • uuid:UUID,唯一表示此修飾符
        • 只能存在一個具有相同ID的修飾符
        • 取代UUID
      • name:字串,人類可讀的名稱
        • 取代Name
      • amount:雙精度浮點數,修飾此屬性的單元數(由operation控制)
        • 取代Amount
      • operation:下列之一:
        • add_value(之前是0):對屬性加amount
        • add_multiplied_base(之前是1):對屬性加amount與基礎值的乘積
        • add_multiplied_total(之前是2):對屬性加amount與總數值(來自所有前面的修飾符)的乘積
        • 取代Operation的整數型ID
    • show_in_tooltip:布林值(預設:true
      • 取代HideFlags標籤的第二個比特
    • 例如attribute_modifiers={modifiers:[type:'minecraft:generic.scale',uuid:[1,2,3,4],name:'Big!',amount:1.0,operation:'add_multiplied_base']}
    • 或者可以定義為修飾符的列表
      • 例如attribute_modifiers=[{type:'generic.scale',uuid:[1,2,3,4],name:'Big!',amount:1.0,operation:'add_multiplied_base'}]
  • 如果未設置,則預設根據物品類型的預設屬性(例如武器的攻擊傷害)
  • 可用set_attributes戰利品函數調整
minecraft:charged_projectiles
  • 包含所有可以裝進弩的投射物
  • 如果不存在則弩無法上弦
  • 取代ChargedChargedProjectiles標籤
  • 格式:堆疊物品列表
    • 不能儲存空/空氣物品
    • 例如 charged_projectiles=[{id:'minecraft:arrow'}]
    • 不再限制為3個條目
  • 可用modify_contentsset_contents戰利品函數調整
minecraft:intangible_projectile
  • 標記投射物物品在射出後可被碰觸(即只能被創造模式下的玩家撿起)
  • 只有當物品在弩的charged_projectiles 組件中時設定
  • 格式:空對象
    • 例如intangible_projectile={}
minecraft:bundle_contents
  • 包含儲存在束口袋中的所有物品
  • 如果移除,物品無法加入束口袋
  • 取代Items標籤
  • 格式:堆疊物品列表
    • 不能儲存空/空氣物品
    • 例如bundle_contents=[{id:'minecraft:poisonous_potato'}]
  • 在束口袋中預設為:[]
  • 可用modify_contentsset_contents戰利品函數調整
minecraft:map_color
  • 代表地圖物品裝飾的色調
  • 取代display.MapColor標籤
  • 格式:整數,RGB數值
    • 例如map_color=16711680
  • 在地圖中預設為:4603950
minecraft:map_decorations
  • 包含地圖上標記的列表(用於探險家地圖)
  • 取代Decorations標籤
  • 格式:唯一的裝飾ID到裝飾的映射
    • type:下列之一:
      • player(之前是0
      • frame(之前是1
      • red_marker(之前是2
      • blue_marker(之前是3
      • target_x(之前是4
      • target_point(之前是5
      • player_off_map(之前是6
      • player_off_limits(之前是7
      • mansion(之前是8
      • monument(之前是9
      • banner_white(之前是10
      • banner_orange(之前是11
      • banner_magenta(之前是12
      • banner_light_blue(之前是13
      • banner_yellow(之前是14
      • banner_lime(之前是15
      • banner_pink(之前是16
      • banner_gray(之前是17
      • banner_light_gray(之前是18
      • banner_cyan(之前是19
      • banner_purple(之前是20
      • banner_blue(之前是21
      • banner_brown(之前是22
      • banner_green(之前是23
      • banner_red(之前是24
      • banner_black(之前是25
      • red_x(之前是26
      • village_desert(之前是27
      • village_plains(之前是28
      • village_savanna(之前是29
      • village_snowy(之前是30
      • village_taiga(之前是31
      • jungle_temple(之前是32
      • swamp_hut(之前是33
      • 取代type位元組的數字ID
    • x:雙精度浮點數,世界座標
    • z:雙精度浮點數,世界座標
    • rotation:浮點數,從北方順時針旋轉角度
      • 取代rot雙精度浮點數
    • 例如map_decorations={'Some marker':{type:'target_x',x:123.0,z:-45.0,rotation:0.0f}}
  • 在地圖中預設為:{}
minecraft:map_id
  • 引用包含地圖的內容和標記的共享狀態
  • 取代map標籤
  • 格式:整數ID
    • 例如map_id=1
minecraft:custom_model_data
  • 可用於通過選擇專案模型中的minecraft:custom_model_data屬性來替換物品的模型
  • 取代CustomModelData標籤
  • 格式:整數值
    • 例如custom_model_data=43
  • 可用set_custom_model_data戰利品函數調整
minecraft:potion_contents
  • 包含藥水(藥水、飛濺藥水、滯留藥水)或應用於物品的藥水(藥水箭)的內容物
  • 取代PotionCustomPotionColorcustom_potion_effects標籤
  • 格式:帶欄位的對象
    • potion:藥水ID(可選)
      • 此物品中的藥水類型:該物品將繼承此藥水的所有狀態效果
    • custom_color:整數,RGB數值(可選)
      • 覆蓋藥水的顏色
    • custom_effects:狀態效果實例列表(預設:[]
      • 此物品使用自定義狀態效果的附加列表,無法用現有藥水表示
    • 例如potion_contents={potion:'minecraft:invisibility',custom_color:16711680}
    • 或者可定義為單個藥水ID
      • 例如potion_contents="invisibility"
  • 在藥水或藥水箭物品中預設為:{}
  • 可用set_potion戰利品函數調整
minecraft:writable_book_content
  • 包含書和羽毛筆的內容
  • 取代pagesfiltered_pages標籤
    • 頁面列表直接映射,使用{raw:'...'}包裹
    • filtered_pages透過索引鍵拉入filtered欄位下的相關頁面條目
  • 格式:帶欄位的對象
    • pages:下列之一:
      • 帶欄位的對象
        • raw:字串,頁面純文字內容
        • filtered:字串,過濾頁面內容(可選)
          • 如果指定,啟用了聊天過濾器的玩家將看到此頁面而不是text
      • 或者:字串、頁面純文字內容
    • 例如writable_book_contents={pages:['Hello world!']}writable_book_contents={pages:[{raw:'Hello world!'}]}
  • 在書和羽毛筆中預設為:{pages:[]}
  • 可用set_writable_book_pages戰利品函數調整
minecraft:written_book_content
  • 包含完成的書的內容
  • 取代pagesfiltered_pagestitlefiltered_titleauthorgenerationresolved標籤
  • 格式:帶欄位的對象
    • pages:過濾文字組件列表
      • 格式除了使用可以格式化的JSON聊天組件字串外和writable_book_contents頁面相同
    • title:過濾後的字串(格式和pages相同)
    • author:字串,玩家名稱
    • generation:整數範圍[0; 3]
      • 完成的書被複製的次數(0=初版)
    • resolved:布林值
      • 如果本書中的聊天組件已經被解析(目標選擇器和計分板分數被替換),則為true
      • 如果為false,則玩家開啟這本書後將被解析
    • 例如written_book_contents={pages:[{text:'Hello world!'}],title:{text:'A delightful read'},author:'Herobrine',generation:1,resolved:true}
  • 可用set_written_book_pagesset_book_cover戰利品函數調整
minecraft:trim
  • 包含物品的紋飾
    • 此組件的存在不再受#minecraft:trimmable_armor標籤的限制(儘管此標籤仍用於配方)
  • 取代相同格式的Trim標籤
  • 格式:帶欄位的對象
    • pattern:圖案ID(或內聯的圖案)
    • material:材料ID(或內聯的材料)
    • show_in_tooltip:布林值(預設:true
      • 取代HideFlags標籤的第八個比特
    • 例如trim={pattern:'minecraft:silence',material:'minecraft:redstone'}
minecraft:suspicious_stew
  • 包含食用可疑的燉湯時獲得的狀態效果
  • 取代相同格式的effects標籤
  • 格式:帶欄位的對象狀態效果列表
    • id:狀態效果ID
    • duration:整數,刻數(預設:160
    • 例如suspicious_stew=[{id:'minecraft:poison'}]
  • 在可疑的燉湯中預設為:[]
  • 可用set_stew_effect戰利品函數調整
minecraft:hide_additional_tooltip
  • 如果存在,則停用來自其物品類型的「附加」提示框部分
  • 取代為HideFlags標籤的第六個比特
  • 格式:空對象
    • 例如hide_additional_tooltip={}
minecraft:debug_stick_state
  • 儲存除錯棒使用的選定方塊狀態屬性
  • 取代DebugProperty標籤
  • 格式:方塊ID到方塊屬性名稱的映射
    • 例如debug_stick_state={'minecraft:turtle_egg':'eggs','minecraft:furnace':'facing'}
  • 在除錯棒中預設為:{}
minecraft:entity_data
  • 儲存非結構化的NBT資料以便在使用生成實體的物品時應用於實體,例如生怪蛋或盔甲座
  • 用相同的行為取代之前的EntityTag標籤
  • 格式:帶欄位的對象
    • 必須含有一個實體類型id欄位
    • 任何其他欄位都會在生成實體時合併進去
    • 例如entity_data={id:'minecraft:pig',Health:1.0f}
minecraft:bucket_entity_data
  • 儲存非結構化的NBT資料以便在將實體從鐵桶中放出時應用於實體
  • 取代NoAISilentNoGravityGlowingInvulnerableHealthAgeVariantHuntingCooldownBucketVariantTag標籤
  • 格式:帶欄位的對象
    • 可以包含上面列出的任何欄位,這些欄位將在放置時應用於實體
    • 例如bucket_entity_data={NoAI:1,Age:43}
  • 在裝生物的鐵桶物品中預設為:{}
minecraft:instrument
  • 包含山羊角的樂器類型
  • 用相同格式取代instrument標籤
  • 格式:樂器ID
    • 利如instrument='minecraft:ponder_goat_horn'
  • 可用set_instrument戰利品函數調整
minecraft:recipes
  • 使用知識之書後應獲得的配方列表
  • 用相同格式取代Recipes標籤
  • 格式:配方ID列表
    • 例如recipes=['minecraft:acacia_boat','minecraft:anvil']
  • 在知識之書中預設為:[]
minecraft:lodestone_tracker
  • 如果存在,則羅盤會指向指定的目標磁石
  • 取代LodestonePosLodestoneDimensionLodestoneTracked標籤
  • 格式:帶欄位的對象
    • target帶欄位的對象(可選)
      • pos:x、y和z的整數陣列
      • dimension:維度ID
      • 若未指定則羅盤會亂轉
    • tracked:布林值(預設:true
      • 如果為true,該組件會隨target欄位的磁石被破壞而移除
    • 例如lodestone_tracker={target:{pos:[13,64,-43],dimension:'minecraft:the_nether'}}
minecraft:firework_explosion
  • 儲存火藥球製造的爆炸
  • 取代Explosion.TypeExplosion.ColorsExplosion.FadeColorsExplosion.TrailExplosion.Flicker標籤
  • 格式:帶欄位的對象
    • shape:下列之一:
      • small_ball(之前是0
      • large_ball(之前是1
      • star(之前是2
      • creeper(之前是3
      • burst(之前是4
      • 取代Type的數字ID
    • colors:整數陣列,RGB數值(預設:[]
      • 初始粒子顏色列表,從中隨機選擇
    • fade_colors:整數陣列,RGB數值(預設:[]
      • 淡化的粒子顏色列表,從中隨機選擇
    • has_trail:布林值(預設:false
    • has_twinkle:布林值(預設:false
      • Flicker標籤改名
    • 例如firework_explosion={shape:'large_ball',colors:[16711680],has_trail:true}
  • 可用set_firework_explosion戰利品函數調整
minecraft:fireworks
  • 儲存所有煙火製造的爆炸和飛行時間
  • 取代Fireworks.ExplosionsFireworks.Flight標籤
  • 格式:帶欄位的對象
    • explosions:爆炸列表
      • minecraft:firework_explosion組件相同
    • flight_duration:位元組,煙火中火藥的數量
    • 例如fireworks={explosions:[{shape:'large_ball',colors:[16711680],has_trail:true}],flight_duration:2}
  • 在煙火中預設為:{explosions:[],flight_duration:1}
  • 可用set_fireworks戰利品函數調整
minecraft:profile
  • 控制玩家頭顱上顯示的皮膚
  • 當放置時會複製到玩家頭顱方塊中
  • 取代SkullOwner標籤
  • 如果只指定name,將會解析為相應的玩家ID和外觀資料
  • 與僅支援按名稱解析的SkullOwner不同,如果僅指定id則配置檔和皮膚將從此UUID解析
  • 格式:帶欄位的對象
    • name:字串,玩家資料名稱(可選)
      • 必須是有效的玩家名稱(最多16個字元,無空格或特殊字元)
      • 由於它可能存在於以前的數據格式中但不會解析為外觀,因此將其替換為item_name組件,該組件在放置和損壞時會保留
    • id:UUID,玩家資料ID(可選)
    • properties:屬性列表(可選)
      • name:字串,名稱屬性(例如textures
      • value:字串(base64加密材質資料)
      • signature:字串(可選)
    • 例如profile={name:'MHF_Sheep'}
    • 或者可以定義為簡單的玩家配置檔名稱字串
      • 例如profile='MHF_Sheep'
  • 可用fill_player_head戰利品函數調整
minecraft:note_block_sound
  • 控制當玩家頭顱放置於音階盒上時播放的聲音
  • 當放置時會複製到玩家頭顱方塊中
  • 取代BlockEntityTag.note_block_sound標籤
  • 格式:聲音事件ID
    • 例如note_block_sound='minecraft:ambient.cave'
minecraft:base_color
  • 儲存盾牌的基礎顏色
  • 取代BlockEntityTag.Base標籤
  • 格式:下列之一:
    • white(之前是0
    • orange(之前是1
    • magenta(之前是2
    • light_blue(之前是3
    • yellow(之前是4
    • lime(之前是5
    • pink(之前是6
    • gray(之前是7
    • light_gray (之前是8
    • cyan(之前是9
    • purple(之前是10
    • blue(之前是11
    • brown(之前是12
    • green(之前是13
    • red(之前是14
    • black(之前是15
    • 例如base_color='magenta'
minecraft:banner_patterns
  • 儲存旗幟和盾牌附加的圖案
  • 當放置時會複製到旗幟方塊中
  • 取代BlockEntityTag.Patterns標籤
  • 格式:旗幟圖案列表
    • pattern:旗幟圖案註冊ID
      • 取代Patterns[].Pattern中的短整數旗幟圖案碼
    • color:染色的顏色名字
      • 取代 Patterns[].Color中的整數染色ID
    • 例如banner_patterns=[{pattern:'minecraft:stripe_top',color:'red'}]
  • 在旗幟和盾牌中預設為:[]
  • 可用set_banner_pattern戰利品函數調整
minecraft:pot_decorations
  • 儲存飾紋陶罐每側的陶器碎片
  • 當放置時會複製到飾紋陶罐方塊中
  • 用相同格式取代BlockEntityTag.sherds標籤
  • 格式:陶器碎片物品ID列表
    • 例如['arms_up_pottery_sherd','angler_pottery_sherd','danger_pottery_sherd','shelter_pottery_sherd']
  • 在飾紋陶罐中預設值為:['minecraft:brick','minecraft:brick','minecraft:brick','minecraft:brick']
minecraft:container
  • 儲存容器類方塊(儲物箱、界伏盒)的物品形式的內容物
  • 當放置時會複製到容器類方塊中
  • 取代BlockEntityTag.Items標籤
  • 格式:欄位列表
    • slot:整數[0; 255],表示容器中的物品欄位
    • item:堆疊的物品
    • 例如container=[{slot:7,item:{id:'diamond_pickaxe',components:{'minecraft:unbreakable':{}}}}]
  • 在容器類方塊中預設為:[]
  • 可用modify_contentsset_contents戰利品函數調整
minecraft:bees
  • 儲存蜂箱或蜂窩中的蜜蜂
  • 當放置時會複製到蜂箱或蜂窩方塊中
  • 取代BlockEntityTag.Bees標籤
  • 格式:蜜蜂列表
    • entity_data:字串到字串的映射
      • id:實體ID
      • 其餘的標籤在生成蜜蜂時合併到其資料中
    • ticks_in_hive:整數
    • min_ticks_in_hive:整數
    • 例如bees=[{entity_data:{id='minecraft:bee'},ticks_in_hive:3,min_ticks_in_hive:10}]
  • 在蜂箱和蜂窩中預設為:[]
minecraft:lock
  • 儲存容器類方塊的鎖住狀態
    • 有相同自定義名稱與相同數值的物品可以開啟此容器
  • 當放置時會複製到容器類方塊中
  • 取代BlockEntityTag.Lock標籤
  • 格式:字串,代表鑰匙
    • 例如lock='hunter2'
minecraft:container_loot
  • 儲存容器類方塊的未解析狀態的戰利品表和種子
  • 當放置時會複製到容器方塊中
  • 取代BlockEntityTag.LootTableBlockEntityTag.LootTableSeed標籤
  • 格式:帶欄位的對象
    • loot_table:戰利品表ID
    • seed:長整數,用於解析戰利品表的偽隨機種子(可選)
      • 如果未指定或0,種子將在戰利品表解析時隨機選取
    • 例如container_loot={loot_table:'minecraft:chests/buried_treasure',seed:123}
  • 可用set_loot_table戰利品函數調整
minecraft:block_entity_data
  • 儲存用於放置方塊實體的非結構化NBT資料,例如儲物箱或熔爐
  • 用相同的行為取代之前的BlockEntityTag標籤
  • 方塊實體資料被移動到專用的物品組件中時會被刪除
  • 對指令方塊、講台、告示牌和生怪磚來說,除非如果玩家是管理員,否則此標籤不會被複製
  • 格式:帶欄位的對象
    • 必須包含一個帶有方塊實體類型的id欄位
    • 當放置時任何額外的欄位將會合併到方塊實體中
    • 例如block_entity_data={id:'minecraft:chest',Items:[{Slot:1,item:'minecraft:diamond'}]}
minecraft:block_state
  • 包含當放置方塊時的方塊狀態屬性
  • 取代BlockStateTag標籤
  • 格式:屬性鍵到屬性值的映射
    • 所有屬性值(包括整數和布林類型)都必須表示為字串
    • 例如block_state={eggs:'10'}

新的物品堆疊組件

這些事之前的物品標籤中沒出現的新組件,且支援新功能和用利。
minecraft:enchantment_glint_override
  • 物品上覆蓋的光效
  • 之前可以透過加入無效的Enchantments標籤來加入光效
  • 格式:布林值
    • 如果是true,沒有附魔光效的物品會顯示光效
    • 如果是false,有附魔光效的物品不會顯示光效(來自附魔或物品內在屬性)
    • 例如enchantment_glint_override=true
minecraft:food
  • 當存在時,這個物品會表現得像食物(可以吃)
  • 格式:帶欄位的對象
    • nutrition:非負整數,吃掉該物品後恢復的飢餓值
    • saturation_modifier:浮點數,吃掉該物品後恢復的飽食度
    • can_always_eat:布林值(預設:false
      • 如果為true,此食物可以在不餓的時候吃
    • eat_seconds:浮點數(預設:1.6
      • 吃此食物物品所需的秒數
    • effects:當吃了以後會獲得的狀態效果清單(預設:[]
      • effect:狀態效果實例(與minecraft:potion_contents組件中的custom_effects格式相同)
      • probability:0與1之間的浮點數,狀態效果生效的機率(預設:1
    • 例如:food={nutrition:4,saturation_modifier:0.1}
  • 在食物物品中隱含該食品類型的預設值
minecraft:max_stack_size
  • 控制物品的最大堆疊數量
  • 大於1的值和max_damage組件互斥
  • 格式:1和99之間的整數
    • 例如:max_stack_size=4
  • 根據物品類型隱含預設值(通常為64
minecraft:max_damage
  • 控制物品可以承受的最大損害值
  • max_stack_size大於1的組件互斥
  • 物品也需要damage組件
  • 如果不存在則物品無法損害
  • 格式:正整數
    • 例如:max_damage=123
  • 可損害的物品隱含預設值
minecraft:tool
  • 控制物品作為工具時的性質
  • 格式:帶欄位的對象
    • rules:規則列表
      • blocks:匹配單一方塊、方塊清單、或#前綴標籤的方塊
      • speed(可選):浮點數,如果存在且匹配,覆寫方塊的挖掘速度
      • correct_for_drops(可選):布林值,如果存在且匹配,覆寫此工具是否「正確」
        • true會使挖掘此方塊時用最有效率的速度,且目標方塊允許掉落物品
    • default_mining_speed:浮點數,如果沒有匹配的規則,則使用並覆寫的挖掘速度(預設:1.0
    • damage_per_block:非負整數,每次使用此工具挖掘方塊時要減少的耐久度
    • 例如tool={rules:[{blocks:"#mineable/pickaxe",speed:4.0,correct_for_drops:true}]}
  • 一般工具物品根據其工具類型隱含預設值
minecraft:hide_tooltip
  • 如果存在,它將完全隱藏整個物品提示(包括物品名稱)
  • 提示在創造模式下仍然可見且可搜索
  • 格式:空對象
minecraft:item_name
  • 如果存在則將預設物品名稱替換為包含的文字組件
  • custom_name的區別:
    • item_name不能在鐵砧中更改或刪除
    • item_name顯示給玩家時不會設置為斜體
    • item_name在適用的情況下不顯示標籤(例如:旗幟標記、物品展示框中物品名稱)
  • 可用set_name戰利品函數修改
minecraft:fire_resistant
  • 若使用則物品不會被燒毀
  • 格式:空對象
    • 例如:fire_resistant={}
  • 如獄髓等抗火物品隱含預設值
minecraft:rarity
  • 控制物品名稱的顏色
  • 格式:枚舉值,下列之一:
    • common(預設):白色名稱,附魔後為青色
    • uncommon:黃色名稱,附魔後為青色
    • rare:青色名稱,附魔後為亮紫色
    • epic:亮紫色名稱
    • 例如:rarity=rare
  • 如附魔金蘋果等特殊物品隱含預設值
minecraft:ominous_bottle_amplifier
  • 控制不祥之瓶的不祥之兆狀態效果放大倍率
  • 格式:0到4之間的整數
    • 例如:ominous_bottle_amplifier=3
  • 可用set_ominous_bottle_amplifier戰利品函數調整

存儲物品堆疊格式

  • 除了由於組件引起的格式更改外,磁碟和資料包中的物品堆疊結構也已更新以確保一致性
  • 之前的id(字串)和Count (位元組)欄位取代為id(命名空間字串)和count(整數)欄位
    • 此格式還用於進度中的icon 欄位、聊天組件懸停事件中的物品和一些合成配方中的result欄位(resultcount 不再內聯)
  • count欄位是可選的(預設為1),且預設狀態下不儲存該欄位
    • 堆疊大小現在限制為物品的最大堆疊數
  • tag欄位被移除,任何剩餘的內容都將在更新後移動到minecraft:custom_data組件
  • 新的components欄位儲存所有附加到物品上的組件
    • 格式:組件ID到組件值的映射(因組件ID而異)
      • 例如{..., components: {'minecraft:damage': 12}}
      • 帶有!前綴的組件(例如"!minecraft:damage": {})將使此組件被刪除
    • 與預設值相同的組件不會被儲存
  • 物品堆疊模式不再表示空堆疊(air物品或count為0)
    • 相反的在支援它的地方應省略該欄位
    • 在某些例子中,如堆疊列表(例如生命實體中的HandItems)使用空的映射({})來代表空堆疊

實體和方塊實體資料格式

  • 現在在放置方塊實體時將存儲物品堆疊上的非預設組件
  • 更新了實體和方塊實體中區塊位置的存儲格式
  • 對當前所有具有HandItemsArmorItems的實體加入body_armor_itembody_armor_drop_chance,且處理方式與HandItemsArmorItems相同
  • 馬的ArmorItem、駱馬的DecorItem、和狼的armor改為使用body_armod_itembody_armor_drop_chance
  • 村民交易可以透過選擇設置'minecraft:damage': 0來僅接受未損壞的物品
    • 預設情況下如果沒有指定組件,所有物品都會接受(類似於項述詞中的components欄位)
  • 儲存在物品或實體中的藥水效果將不再對其預設值進行編碼
    • amplifier0
    • duration0
    • ambientfalse
    • show_particlestrue
  • FactorCalculationData已從生物狀態效果標籤中刪除
  • 藥水箭不再儲存其藥水效果
    • 藥水效果可從它們物品item中獲得
  • 藥水效果雲現在使用potion_contents欄位中的minecraft:potion_contents組件儲存相同格式的與藥水效果:
    • Potion -> potion_contents.potion
    • Color -> potion_contents.custom_color
    • effects -> potion_contents.custom_effects
  • 旗幟在使用patterns欄位中的minecraft:banner_patterns 儲存相同格式的圖案:
    • Patterns[].Pattern(短整數ID字串) -> patterns[].pattern(圖案註冊ID字串)
    • Patterns[].Color (整數染色ID字串) -> patterns[].color(染色名字字串)
  • 蜂窩格式更新:
    • Bees[].EntityData -> bees[].entity_data
    • Bees[].TicksInHive -> bees[].ticks_in_hive
    • Bees[].MinOccupationTicks -> bees[].min_ticks_in_hive
    • FlowerPos -> flower_pos
  • 玩家頭顱方塊中的profile欄位取代SkullOwnerExtraType欄位,其格式與物品組件相同
  • 玩家頭顱方塊現在儲存custom_name標籤,當破壞或放置時該標籤將複製到物品形態或從物品形態中複製出來
  • 在生怪磚中的SpawnPotentials生物生成資料和試煉生怪磚的spawn_potentials配置中加入可選的equipment_loot_table
    • 如果存在,指定戰利品表中滾動的物品將被裝備到生成的生物身上
    • 格式:帶欄位的對象
      • loot_table - 用於生成裝備的戰利品表
      • slot_drop_chances - 指定掉落機率的可選裝備欄位映射
        • 也可以是應用於所有物品欄位的單個值而不是列表:例如slot_drop_chances: 0.0f將對所有欄應位用0%的幾率
    • 例如equipment: {loot_table: "minecraft:equipment/trial_chamber", slot_drop_chances: {"head": 0.0f, "chest": 0.25f, "legs": 1.0f, "feet": 0.25f}}

方塊實體中的組件

包含方塊物品的物品堆疊上的非預設組件現在在放置時存儲在方塊實體上
  • 目前不會保留從預設值中刪除的組件
  • 放置和破壞非方塊實體方塊保持不變 - 不保留任何內容
  • 不會自動導致在掉落時恢復保留的組件 - 這需要在戰利品表中添加copy_components
  • 組件會儲存在components欄位
    • 一些組件(如custom_name)仍由舊序列化處理,這意味著它們可能不存在
    • 包含組件ID到組件值的映射

方塊位置

  • 所有的方塊位置現在都用3個整數的數列儲存,而不是XYZ的映射
  • 蜜蜂的FlowerPosHivePos更名為flower_poshive_pos
  • 蜂箱中的FlowerPos更名為flower_pos
  • 終界水晶中的BeamTarget更名為beam_target
  • 所有可栓的實體中Leash更名為leash
  • 突襲生物中的PatrolTarget更名為patrol_target
  • 終界傳送門中的ExitPortal更名為exit_portal
  • 流浪商人中的WanderTarget更名為wander_target

寶庫方塊實體

  • 加入了寶庫方塊中的各種NBT元素(實驗性),這些元素可以設定自定義內容:
  • 欄位:
    • config
      • loot_table:解鎖后將彈出的戰利品表
        • 預設值:"minecraft:chests/trial_chambers/reward"
      • activation_range:任何尚未解鎖寶庫的玩家都必須在該範圍內才能打開鑰匙孔
        • 預設值:4
      • deactivation_range:所有可解鎖的玩家都必須在範圍之外,才能關閉寶庫的鑰匙孔
        • 預設值:4.5
      • key_item:解鎖寶庫所需的物品
        • 用於對照的NBT和數量
        • 預設值:"minecraft:trial_key"
      • override_loot_table_to_display:一個可選的戰利品表,用於顯示籠子內的物品,而不是設置loot_table中的結果
        • 預設值:沒有值
    • shared_data
      • connected_particles_range:未解鎖寶庫的玩家必須在範圍內,粒子才會從他們身上流出
        • 預設值:4.5

指令

  • 更新了指令中物品和物品述詞的語法
  • 加入物品欄位範圍名稱如container.*
  • 現在可以在不指定玩家(假設@s)和不指定混音器(假設master)的情況下使用playsound 指令
  • 以前接受戰利品表、修飾符和述詞的命名空間ID的指令參數現在也可以接受內聯定義
  • 加入execute if|unless items檢查物品的數量
  • 藥水效果等級現在再次被限制在0到255之間
    • 跳躍提升、懸浮和挖掘疲勞放大倍率超過127的行為已被新的屬性所取代
  • 加入transfer指令
  • 函數中指令的最大長度(包括巨集擴展)不再能超過2,000,000個字元

物品語法

  • /give/item/loot/clear指令更新的語法
  • 現在可以在物品名稱後面的方括號指定組件
    • 組件用=分配(例如wooden_pickaxe[damage=23]
    • 組件用逗號分隔(例如netherite_hoe[damage=5,repair_cost=2]
  • 組件類型會自動補全,但值不會
  • 如果組件指定不正確,值會被驗證且指令將無法解析
    • 例如/give @s wooden_pickaxe[damage=-34]為無效指令
  • 重寫之前存在的NBT語法({...})來設定或匹配minecraft:custom_data組件
    • 例如/give @s stick{foo:'bar'}變成/give @s stick[custom_data={foo:'bar'}]
  • /attribute指令中的修飾符重新命名:
    • add -> add_value
    • multiply_base -> add_multiplied_base
    • multiply -> add_multiplied_total

加入EXECUTE IF|UNLESS ITEMS

  • execute if|unless items <source> <slots> <item_predicate>指令可用於計算物品數量
    • <source>item指令中使用的相同,即
      • block <x> <y> <z>
      • entity <target>(選擇器可以返回多個實體)
    • <slots>可以接受單個物品欄位(如container.0)或範圍(如container.*
    • <item_predicate>clear指令中使用的相同
  • 如果單獨使用將返回堆疊中與述詞匹配的物品總數

物品述詞參數

物品述詞參數(用於execute if|unless itemsclear指令)得到顯著擴展。
  • 一般語法為:<type> [comma-separated list of <test>]
  • <type>為下列之一:
    • 物品ID
    • #前綴的物品標籤ID
    • *以匹配任意物品
  • <test>為下列三種型式之一:
    • <component_id>=<value> - 匹配組件的精確值
      • <value>表示SNBT格式的組件值(與item give參數相同)
      • 每個指定的祖件都必須存在於目標物品上,並且具有完全相等的解析值
      • 如果未指定將假設物品包含預設的組件(例如預設damage=0
        • 因此,/clear @s diamond_pickaxe[damage=0]將只與未損壞的鑽石鎬匹配
        • 另一方面,/clear @s diamond_pickaxe將與所有鑽石鎬匹配,無論是否損壞
      • 組件值的精確匹配甚至適用於minecraft:custom_data組件
    • <component_id> - 檢查組件是否存在
    • <predicate_id>~<value> - 檢查物品子述詞
      • <value>表示SNBT格式的物品子述詞(但在其他方面與用於進度和戰利品表JSON欄位的表示形式相同)
      • 例子:*[damage~{durability:{min:3}}]將匹配耐久度剩餘至少3次的任意堆疊物品
  • 特殊名字minecraft:count用於匹配堆疊數量
    • count=<positive int>當堆疊數等於賦予值時滿足
    • count~<int range>當堆疊數在指定範圍間時滿足
      • 例子:*[count~{max:2}]將匹配堆疊數<=2的任意堆疊物品
    • count將總是滿足
  • 任何<test>實體可以藉由!前綴來取反
    • 例子:*[!count=1]將匹配數量非1的任意堆疊物品
  • <test>元素也可以藉由|聯集多個條件
    • 例子*[!damage|damage=0]將檢查沒有damage組件或damage為0的物品
  • 刪除了自定義數據部分匹配語法({})並用custom_data述詞代替
    • 所以stick{a:2}變成stick[custom_data~{a:2}]
    • 此述詞使用預先存在的NBT部分匹配行為
      • 這要求述詞中指定的所有標籤都存在於目標物品上,但忽略其他標籤
      • 目標中的列表必須包含述詞中指定的所有物品,但可能存在其他物品,並且忽略順序

物品欄位名稱

  • 物品欄位名稱(用於item指令和slots實體述詞)現在包含物品欄位範圍
  • 除非指定否則現有指令仍只能在單個物品欄位上工作
  • 加入新的物品欄位範圍:
    • container.* - 包含container.0container.53
    • hotbar.* - 包含hotbar.0hotbar.8
    • inventory.* - 包含inventory.0inventory.26
    • enderchest.* - 包含enderchest.0enderchest.26
    • villager.* - 包含villager.0villager.7
    • horse.* - 包含horse.0horse.14
    • weapon.* - 包含weapon.mainhandweapon.offhand
    • armor.* - 包含armor.headarmor.chestarmor.legsarmor.feetarmor.body
  • 加入新的物品欄位名稱:
    • player.cursor - 玩家在螢幕上持有的物品
      • 注意:此資訊無法在創造模式下讀取
    • player.crafting.0 - player.crafting.3player.crafting.* - 玩家合成物品欄位
      • 注意:這僅包括玩家物品欄的合成物品欄位。工作台(或其他螢幕上的任何其他物品欄位)不包括在內
    • contents - 用於單物品欄位實體,如物品展示框、物品展示或掉落的物品實體
  • 移除horse.armor物品欄位參數,並加入適用於所有生物的armor.body物品欄位參數

內聯戰利品值

以下以前接受戰利品表、修飾符和述詞的命名空間ID的指令參數現在也可以接受內聯定義:
  • loot
  • item
  • execute if predicate
值現在具有與匹配的JSON檔案相同的結構,但它仍是由SNBT硬編碼。例如:
execute if predicate {condition:weather_check, raining:true}

TRANSFER指令

將玩家轉移到另一台伺服器的新指令,僅存在於專用伺服器上。
語法:
transfer <hostname> [<port>] [<players>]
參數:
  • hostname:描述要連接到的伺服器的主機名的字串
  • port:表示要連接的伺服器的埠號的數值 - 如果省略則使用25565
  • players:要轉移的玩家 - 如果忽略則使用@s

戰利品表和進度中的述詞格式

  • 方塊述詞格式更新:
    • tag欄位被移除
    • blocks欄位現在支援單個條目、井字號前綴標籤或方塊列表
  • 流體述詞格式更新:
    • tag欄位被移除
    • fluid -> fluids,並且支援單個條目、井字號前綴標籤或流體列表
  • 位置述詞格式更新:
    • biome -> biomes,並且支援單個條目、井字號前綴標籤或生態域列表
    • structure -> structures,並且支援單個條目、井字號前綴標籤或結構列表
  • 對實體和物品述詞的主要更改

實體述詞

  • 更新實體述詞格式:
    • type欄位現在支援單個目標、井字號前綴的實體類型標籤或實體類型列表
    • 加入新的實體述詞欄位slots用於匹配物品欄位
  • 更新equipment欄位格式
    • 在實體的equipment子述詞中加入新的選項body以匹配實體盔甲物品欄位中的物品
  • 移除any實體特定類型述詞(無效果)
slots實體述詞欄位
  • 新的實體述詞欄位slots允許檢查任何實體上的單個或多個物品欄位
  • 該欄位包含欄位名稱(與item組件中使用的相同)到物品述詞的映射
  • 對於物品欄位範圍,只需匹配一個物品欄位即可通過整個條目
例子:
{
    "condition": "minecraft:entity_properties",
    "entity": "this",
    "predicate": {
        "slots": {
            "container.*": {
                "items": "dirt"
            }
        }
    }
}
wolf類型特定的實體述詞
  • 加入wolf實體子述詞以匹配狼的變種
  • 欄位:
    • variant - 匹配狼的變種(單一實體、實體或標籤清單)
raider類型特定的實體述詞
  • 新的raider子述詞以與raidersFields匹配:

    • has_raid - 匹配突襲者是否處於正在進行的突襲中
    • is_captain - 匹配突襲者是否為突襲隊長
catfrogpainting類型特定的實體述詞
  • variant欄位現在接受單一實體、實體或標籤清單

物品述詞

物品述詞格式更新:
  • tag欄位被移除
  • items欄位現在支援單個條目、井字號前綴標籤或物品列表
  • 新的可選components欄位精確地與組件匹配
    • 所有指定的組件在目標物品上必須完全相等,但其他組件會被忽略
    • 如果未指定則假定目標項上存在具有預設的組件
    • 格式:組件ID到組件值的映射(因ID格式而異)
      • 例如"components": { "minecraft:damage": 0 }僅匹配未損壞的物品
  • 特定於組件的物品述詞屬性已移至稱為predicates的單獨欄位

物品子述詞

  • 物品述詞中的某些欄位已移至可選欄位predicates
  • 新的欄位與堆疊物品的components欄位類似
  • 這樣做是為了簡化未來述詞的添加,並允許子述詞更接近它們匹配的組件的名稱
  • 移動下列欄位:
    • enchantments - 欄位移動到子述詞minecraft:enchantments
    • stored_enchantments - 欄位移動到子述詞minecraft:stored_enchantments
    • potions - 欄位移動到子述詞minecraft:potion_contents
      • 現在支援單個藥水條目、藥水列表或以井字號前綴的藥水標籤
    • custom_data - 欄位移動到子述詞minecraft:custom_data
  • durability欄位移動到minecraft:damage述詞:
    • 此檢測對所有具有minecraft:damage組件的物品有效
    • 沒有minecraft:damage組件的物品永遠不會匹配
    • 要檢測無法破壞的物品,須查詢minecraft:unbreakable組件的值
    • 欄位:
      • damage - minecraft:damage組件值的可選上界
      • durability - 耐久度的可選上界(最大傷害減去minecraft:damage的值)
  • 述詞minecraft:enchantmentsminecraft:stored_enchantmentsminecraft:potion_contentsminecraft:damage要求物品上有匹配的組件
    • 這意味著,例如,匹配空的附魔清單不會傳遞沒有minecraft:damage組件的物品
    • 注意:一些組件,如minecraft:enchantments有預設值,所以它們永遠匹配
  • 這些子述詞也可以在指令中使用,例如/clear/execute if|unless items
  • 述詞minecraft:custom_data現在同時接受字串(現存格式)的SNBT數據和不扁平的標籤
    • 這意味著*[custom_data~{a:1}]*[custom_data~"{a:1}"]是相同的
    • 由於NBT類型資訊無法用JSON表示,因此保留了扁平字串格式
  • 加入許多新的子述詞
例子:
之前:
"item": {  "enchantments": [
    {
      "enchantment": "minecraft:silk_touch",
      "levels": {
        "min": 1
      }
    }
  ]
}
之後:
"item": {  "predicates": {
    "minecraft:enchantments": [
        {
          "enchantment": "minecraft:silk_touch",
          "levels": {
            "min": 1
          }
        }
      ]
  }
}
組件述詞的一般規則
  • 除非另有說明,否則述詞中的欄位與組件中匹配的欄位同名(即與述詞同名)將匹配該欄位值
  • 這些欄位通常具有與組件中的類型相同的類型,但將是可選的。
  • 例外情況:
    • 列表欄位將取代為集合匹配器(見下文)
    • 整數和浮點欄位將替換為範圍
    • 註冊表ID將替換為接受ID、ID列表或標籤的類型
集合匹配器
  • 集合匹配器是用於匹配集合的述詞的共用部分
  • 此匹配器的每個實例都將具有具有相同功能的相同欄位,唯一的區別是匹配的類型
  • 欄位:
    • size - 要與集合大小匹配的整數範圍
    • contains - 元素述詞列表
      • 所有條件必須匹配述詞才能通過
      • 並非測試容器中的所有元素都必須匹配
      • 元素可以按任意順序排列
      • 單個元素可以匹配多個述詞
      • 例子(當物品堆疊符合時):
        • {contents:[{item:diamond}]} - 當至少有一個鑽石物品時會匹配
        • {contents:[{item:diamond}, {item:dirt}]} - 當至少有一個鑽石物品和至少一個泥土物品時會匹配
    • count - 元素計數的匹配器列表
      • 輸入欄位:
        • test - 元素匹配器
        • count - 可選的整數範圍,用於檢查通過test的元素數量
      • 例子(當物品堆疊符合時):
        • {count:[{count:3,test:{items:diamond}}]}} - 只有當正好有3堆鑽石時才會匹配(無論堆疊大小如何)
container
  • 匹配container組件(例如界伏盒)
  • 欄位:
    • items - 可選的匹配集合器
      • 注意:空物品將會被忽略,這意味著container~{items:{size:3}}只有在容器中有正好3個非空的堆疊時才會通過
bundle_contents
  • 匹配bundle_contents組件
  • 欄位:
    • items - 可選的匹配集合器
firework_explosion
  • 匹配firework_explosion組件
  • 欄位:
    • shape - 狀的可選匹配器,與minecraft:firework_explosion組件中的shape欄位值相同
    • has_trail - 可選布林值
    • has_twinkle - 可選布林值
fireworks
  • 匹配fireworks組件
  • 欄位:
    • explosions - firework_explosion述詞的可選集合匹配器
    • flight_duration - 飛行持續時間的可選整數範圍檢查
  • 例子:minecraft:fireworks~{explosions:{contains:[{shape:small_ball}]}}] - 如果煙火有至少一次爆炸是small_ball形狀時匹配
writable_book_content
  • 匹配writable_book_content組件
  • 欄位:
    • pages - 字串的可選集合匹配器(僅符合頁面的未篩選內容)
written_book_content
  • 匹配written_book_content組件
  • 欄位:
    • pages - 聊天組件的可選集合匹配器(僅符合頁面中未過濾的內容)
    • author - 可選字串值
    • title - 可選字串值(僅匹配值)
    • generation - 生成檢查的可選整數範圍
    • resolved - 可選布林值
attribute_modifiers
  • 匹配attribute_modifiers組件
  • 欄位:
    • modifiers - 可選集合匹配器,用於具有以下欄位的以下條目:
      • attribute - 可選要匹配的屬性ID、ID列表或標籤
      • id - 可選UUID
      • name - 可選字串
      • amount - 可選雙範圍檢查
      • operation - 可選操作類型(與attribute_modifiers組件中的operation欄位值相同)
      • slot - 可選的可用物品欄位類型(與attribute_modifiers組件中的slot欄位值相同)
trim
  • 匹配trim組件
  • 欄位:
    • material - 匹配材料的可選ID、ID列表或標籤
    • pattern - 匹配圖案的可選ID、ID列表或標籤
板務人員: