前往
大廳
主題

Minecraft 1.21.2更新資訊

| 2024-10-29 03:01:08 | 巴幣 1002 | 人氣 491

Bundles of Bravery Out Now for Java

藍字部分是我個人的補充。

新功能
  • 新增束口袋

束口袋
  • 束口袋是一種能把不同物品壓縮在同一個格子的道具
  • 束口袋的容量是1組(通常是64個物品),但可以是不同物品的混合
  • 你可以直接在背包介面內把物品放進去
  • 束口袋有游標提示框顯示內容物
    • 如果束口袋裝著<12種物品,提示框會顯示所有內容物
    • 反之,提示框會顯示最上面3排物品(≥8種)
  • 你可以選擇任意提示框顯示的物品,並把它移出束口袋
    • 直接對束口袋右鍵會取出第一個物品
    • 可以用滑鼠滾輪選擇其他物品,然後右鍵取出
  • 滾輪選取物品的時候,束口袋的物品圖示會跟著選取的物品變化,顯示出正在選取的物品
  • 在皮革上面放線合成
  • 和幾年前的實驗版本操作有所不同:
    • 左鍵把物品放進束口袋
    • 右鍵把物品取出束口袋
    • 在游標提示框顯示著的時候,用滑鼠滾輪選取物品,然後右鍵取出

更改內容
  • Realms開放極限模式
  • 更新Realms創造世界的介面
  • 試煉密室新增變種
  • 新增小型海豚、魷魚、螢光魷魚
  • 新增鮭魚的大小變化
  • 潛行狀態墜落到史萊姆方塊上不再造成摔傷
  • 調整現有的方塊、物品、實體
  • 終界珍珠現在會載入和更新區塊
  • 更新旗幟圖案的名稱和材質
  • 紅石火把獲得獨特的新外觀
  • 新增兩種旗幟圖案物品:磚牆花紋、鋸齒框邊
  • 調整蜜蜂的飛行距離、不同行為間的冷卻時間
  • 調整突襲的生成邏輯
  • 鍛造模板的物品名稱更新成對應的紋樣名稱
    • 原本的「鍛造模板」字樣移到游標提示框的說明文字上
  • 玩家裝備雕刻過的南瓜時,不會顯示在其他玩家的地圖上
  • 更改部分物品的稀有度
  • 新增協助工具設定
  • 遊戲會在最小化或掛機時限制FPS
    • 新增一項相關的設定
  • 改進遊戲效能
  • 新增索西語、拉丁字母白俄羅斯語、高地挪威語
  • 限制創造模式背包丟出物品的速度

Realms
  • 現在使用完整功能的創造世界介面
    • 可以設定遊戲規則
    • 可以設定資料包
  • Realms主畫面會顯示最後使用的世界的遊戲模式
極限模式
  • Realms開放極限模式
  • 只有在創造新世界的時候可以使用

方塊、物品和實體的調整
  • 狼現在能餵食鱈魚、烤鱈魚、鮭魚、烤鮭魚、熱帶魚、河豚、兔肉湯
  • 只要亮度和方塊條件符合,蝙蝠就能在任何高度生成
  • 移除旋風使者嘗試發動攻擊的最短距離
  • 調整載具和投射物的傳送門冷卻
    • 礦車和船的地獄門冷卻從15秒改成0.5秒
    • 投射物的地獄門冷卻從15秒改成0.1秒
  • 投射物在撞到世界邊界的時候會彈開
  • 新增重錘墜落攻擊專用的死亡訊息
  • 新增生怪磚的獨特聲音
  • 附魔的盾現在和盔甲一樣,降低閃光效果的強度
  • 消耗物品後的轉換不再在創造模式時生效
    • 例如,創造模式喝下蜂蜜不會獲得玻璃瓶
  • 可疑的燉湯合成表現在會顯示在配方手冊中
  • 界伏盒染色合成表現在會顯示在配方手冊中
  • 界伏盒和束口袋不再能用相同顏色的染料做無效染色

試煉密室
  • 新增通道的變種,包含小型遭遇戰等級的挑戰關卡
  • 交叉路口的床會使用隨機的顏色
  • 挑戰房間入口前的空箱替換成漏斗+木桶的組合

生物變種
  • 新增小型海豚、魷魚、螢光魷魚
    • 魷魚生怪蛋只會生成普通的魷魚
    • 自然生成的魷魚有5%會是小型變種
  • 鮭魚有小型、中型(原本的大小)、大型三種

終界珍珠的區塊載入
  • 終界珍珠現在會確保它所在的區塊、即將進入的區塊都是載入且會更新的狀態
    • 包括穿越維度之後的區塊
    • 這保證終界珍珠能夠落地,並且讓跨維度的珍珠傳送行為更加可預測
  • 珍珠會隨著擲出它的玩家登出而消失,並在玩家登入後重新出現,類似現在玩家搭乘的生物的表現

旗幟圖案
  • 每種旗幟圖案的名稱都包含了它的樣式名稱
    • 同時新增了每個圖案獨特的材質
  • 新增旗幟圖案:
    • 磚牆花紋 - 使用紙和紅磚合成
    • 鋸齒框邊 - 使用紙和藤蔓合成
  • 紡織機需要對應的旗幟圖案,才能製造磚牆花紋、鋸齒框邊兩種樣式

蜜蜂
  • 減少離開蜂窩後漫遊的時間
  • 會待在蜂窩附近,減少移動的距離以降低迷路的風險
  • 大幅提升蜜蜂放棄找家之前的嘗試時間
  • 蜜蜂在回家過程中更不容易卡在角落
  • 蜜蜂更不容易以無法觸及的花為目標

突襲生成
  • 突襲在找不到生成位置時不會開始
  • 突襲只會生成在村莊中心上下96格內
  • 在可生成位置存在時,生成位置的搜尋機制更不容易搜尋失敗

介面
  • 按Enter或空白能選擇配方手冊最後使用的合成表,並自動填充材料
  • 更新游標停在物品上時的強調顏色,提高物品本身的能見度
    • 原本的材質保留在Programmer Art資源包內
  • 調整氣泡的顯示行為
    • 新增「空氣泡」的顯示材質,並且讓空氣條在溺水時抖動
    • 氣泡消耗時會發出聲音

稀有度
  • 稀有度是物品的一種分類方式,會決定物品顯示名稱的顏色
    • 對遊戲實際行為沒有影響,但能指出這個物品的取得難度
    • 除非有特別指定,一般的物品使用「普通」稀有度,顯示為白字
  • 我們重新評估了所有物品的稀有度,以更正確的反映出當今環境下物品的取得難度:
    • 物品會根據以下因素調整稀有度:
      • 從戰利品表中取得的機率
      • 取得物品需要移動的距離
      • 取得物品時需要克服的障礙
      • 物品在世界中的存量
    • 經過合成的衍生物,必須繼承原料中最高階的稀有度
      • 例如,重錘是最高級的「史詩」,因為原料之一(沉重核心)是史詩級稀有度
      • 同理可知,只用普通物品合成出的物品,稀有度也會是「普通」
  • 下列清單是調整過稀有度的物品
普通(白字
  • 終界水晶
  • 金蘋果
罕見(黃字
  • 嗅探獸蛋
  • 鎖鏈裝備
  • 回生羅盤
  • 唱片碎片 - 5
  • 鸚鵡螺殼
  • 回聲碎片
  • 山羊角
  • 陶器碎片
  • 不祥之瓶
  • 不祥旗幟
  • 獄髓升級
  • 鍛造模板 - 哨兵、沙丘、海岸、荒野、潮汐、豬鼻、肋骨、嚮導、工匠、牧者、主人、渦流、鑲鉚
  • 唱片 - 13、cat、blocks、chirp、Creator(音樂盒)、far、mall、mellohi、stal、strad、ward、11、wait、Relic、5、Precipice
稀有(藍字
  • 附魔金蘋果
    • 近年來,包括遠古城市、試煉密室等更新讓附魔金蘋果變得更常見,因此調降稀有度
  • 三叉戟
    • 之前三叉戟的稀有度一度從普通提升至史詩,但在重新評估後,我們認為三叉戟相較其他史詩物品更容易取得
  • 地獄之星
  • 鍛造模板 - 伏守、眼眸、惱鬼、旋塔
  • 凋零頭顱
  • 骷髏圖紋旗幟圖案
    • 跟隨凋零頭顱調整
  • Mojang標誌旗幟圖案
    • 跟隨附魔金蘋果調整
  • 唱片 - Pigstep、otherside、Creator
史詩(紫字
  • 鞘翅
  • 龍首
  • 鍛造模板 - 寂靜

協助工具設定
  • 新增準心指向方塊的邊框強調設定
High Contrast資源包
新增以下高對比材質:
  • 游標提示框的邊框和背景
  • 游標停在物品上、選擇束口袋物品的欄位強調顏色

閒置時的FPS限制
  • 遊戲在特定情況下會限制FPS
  • 由設定中的「限制FPS」控制
  • 選項包括:
    • 最小化
      • 在視窗最小化後,FPS上限為10
    • 無操作時
      • 1分鐘沒有操作後,FPS上限為30
      • 再經過額外9分鐘無動作後,FPS上限為10
      • 視窗最小化同樣會把FPS上限變成10
  • 預設值是「無操作時」

效能
  • 改進高顯示距離時的FPS
    • 轉動畫面時的表現有顯著的改善
  • 改進伺服器端高模擬距離時的TPS
    • 載入和生成區塊的表現有顯著的改善

玩家安全性
檢舉skin
  • 新增原因「性相關不當內容」
    • 適用於「外觀圖案與性行為、性器官和性暴力有關」的skin
  • 移除原因「誹謗」,因為skin用不到這個選項
  • 移除原因「恐嚇加害他人」,因為「騷擾或霸凌」能完全覆蓋此選項
檢舉ID
  • 新增提示文字,告知玩家這項檢舉只有ID在檢舉範圍內

技術性更新
  • 資料包版本57
  • 資源包版本42
  • 調整server.properties的選項
  • 增加資料生成器生成的資料包結構資訊
  • 刪除束口袋的實驗性標籤和資料包

server.properties
  • 新增選項pause-when-empty-seconds(預設60)
    • 設為正數時,伺服器會在沒有人在線上後指定秒數暫停
  • 移除選項spawn-animalsspawn-npcs
    • 這兩個選項應由遊戲規則控制
  • 擴充text-filtering-config的功能,以支援和Realms之間的字詞過濾設定移植
    • 原有功能不受影響,現在使用這個功能的伺服器不做任何修改也不會造成功能故障

通訊協定
  • 新增client_tick_end封包,在客戶端處理完目前的tick後送出
  • 開放伺服器修改Tab玩家名單的玩家順序
    • 以非負的數值由高到低排序
  • 客戶端也會受到伺服器的粒子數限制
  • 伺服器只會傳送已知的合成配方給客戶端
  • 移除先前暫時加入的strictErrorHandling選項

資料包版本49 → 57
  • 增加標籤
  • 指令更新
  • 增加遊戲規則disablePlayerMovementCheck
  • 物品元件更新
  • 新增資料驅動的山羊角音色、試煉生怪磚設定
  • 繪畫的資料定義更新
  • 增加附魔效果功能
  • 移除crafting_special_suspiciousstew合成類型
  • 簡化配方表的原料格式
  • 增加戰利品表
  • 增加述詞
  • 進度的觸發條件更新
  • 儲物箱鎖的功能更新
  • tnttnt_minecart新增explosion_power參數
    • 預設值是4
    • TNT礦車會把這個值加到以速度為基礎的爆炸力上
  • 分割boatchest_boat實體類型
  • 屬性值更新
  • 實體的俯仰角限制為-90到90
  • 新增粒子;粒子格式更新

標籤
方塊標籤
  • bats_spawnable_on:蝙蝠能生成的方塊
物品標籤
  • furnace_minecart_fuel:熔爐礦車的燃料
  • villager_picks_up:村民可以撿拾的物品
  • 可以合成、修復指定材質工具的材料:
    • wooden_tool_materials
    • iron_tool_materials
    • gold_tool_materials
    • diamond_tool_materials
    • netherite_tool_materials
    • stone_tool_materials本來就存在
  • 可以修復指定盔甲的材料:
    • repairs_leather_armor
    • repairs_iron_armor
    • repairs_chain_armor
    • repairs_gold_armor
    • repairs_diamond_armor
    • repairs_netherite_armor
    • repairs_turtle_helmet
    • repairs_wolf_armor
  • piglin_safe_armor:穿上後讓豬布林變得中立的裝備
  • duplicates_allays:複製悅靈的物品
  • bundles:所有束口袋
  • panda_eats_from_ground:貓熊會從地上撿來吃的物品
  • brewing_fuel:釀造台的燃料
  • map_invisibility_equipment:讓玩家從地圖上消失的裝備
  • gaze_disguise_equipment:讓玩家視線不影響怪物的裝備
    • 包括終界使者的激怒,以及實驗性功能嘎枝的定身

指令
  • JSON text component中不正確的selector會讓指令解析失敗,而不是通過並顯示空字串
  • loot指令在模擬挖掘無戰利品表的方塊(如air)時,會回傳錯誤
  • 不再能用ride指令騎乘拴繩、閃電電流、浮標
  • 新增rotate指令
rotate指令
用於旋轉實體的指令。

語法:
rotate <target> <rotation>
rotate <target> facing <facingLocation>
rotate <target> facing entity <facingTarget> [<facingAnchor>]

參數:
  • target:被旋轉的實體
  • rotation:水平和垂直旋轉角度
    • 可以使用相對角度~
  • facingLocation:面向的座標
  • facingTarget:面向的實體目標
  • facingAnchor:面相實體目標的部位,可使用feet(預設)和eyes

參數的意義和teleport指令相同。
1.21.2起,teleport不論座標,必然會在傳送乘客時把乘客從載具上拆下來,因此不破壞騎乘結構的rotate指令有必要存在。

遊戲規則
disablePlayerMovementCheck
  • 設定為true時,取消玩家移動速度的限制
    • 預設值false
    • 功能相當於不只限制鞘翅飛行的disableElytraMovementCheck

物品元件變更
food
  • 元件的性質變成純資料容器,現在只儲存作為食物的數值資料
    • 這個元件本身不再給予物品「可食用」的性質,這個功能現在被移植到新的consumable元件上
  • 格式:具有以下欄位的物件
    • nutrition:非負整數,回復的飢餓值
    • saturation:小數,回復的飽食度
    • can_always_eat:真假值,控制玩家在不餓的時候能不能吃這個食物
      • 預設值false
fire_resistantdamage_resistant
  • 新增參數欄位types,使用一個#開頭的傷害類型標籤
    • 此物品的掉落物實體會免疫指定種類的傷害
    • 同時控制物品的裝備者受到指定種類的傷害時,不會讓此物品的耐久度受損
item_name
  • 所有物品都有預設值
  • 這個元件提供的物品名稱會被其他所有名稱來源覆蓋掉
    • 例如:來自potion_contents的藥水名稱、來自written_book_content非空書本標題
potion_contents
  • 新增可選的參數欄位custom_name
    • 存在時,這個參數會用於生成藥水名稱
    • 例如,參數為foo且物品是lingering_potion,則藥水名稱會翻譯成item.minecraft.lingering_potion.effect.foo

新的物品元件
consumable
  • 元件存在時,物品可以使用並消耗
    • 如果foodpotion_contentsominous_bottle_amplifiersuspicious_stew_contents存在,消耗這個物品同時會讓這些資料生效
  • 格式:具有以下欄位的物件
    • consume_seconds:非負小數,使用指定秒數後物品被消耗
      • 預設值1.6
    • animation:消耗過程的玩家動作
      • 預設值eat
      • 可使用的值:
        • none 無動作
        • eat
        • drink
        • block 舉盾
        • bow 拉弓
        • spear 舉三叉戟
        • crossbow 填充弩
        • spyglass 舉望遠鏡
        • toot_horn 吹號角
        • brush
      • 同時控制了伏聆振測器等物件偵測到的「聲音」,除drink以外全都是吃東西的事件
    • sound:消耗過程使用的聲音
      • 預設值entity.generic.eat
    • has_consume_particles:消耗過程中是否噴出粒子
      • 預設值true
    • on_consume_effects:可選的列表,指定消耗後的額外效果
      • 現在有5種額外效果,使用物件的type欄位識別
      • apply_effects
        • effects:指定物品消耗後套用的狀態,列表中的每一個物件能設定狀態效果ID、時長、強度等參數
        • probability:套用以上效果的機率,預設1
      • remove_effects
        • effects:物品消耗後移除的狀態效果ID、#開頭的狀態效果標籤,或狀態效果ID列表
      • clear_all_effects
        • 物品消耗後清空狀態效果
      • teleport_randomly
        • diameter:物品消耗後隨機傳送玩家的範圍直徑,預設16
      • play_sound
        • sound:物品消耗後播放的聲音
  • 範例:consumable={consume_seconds:3.0, animation:"eat", sound:"entity.generic.eat", has_consume_particles:true, on_consume_effects:[{type:"clear_all_effects"}]}
use_remainder
  • 元件存在時,物品消耗後會產生一個「殘留物」
    • 如果原物品使用後還有剩,殘留物會用一般的方式「加入」背包中
    • 上述加入物品的過程中,若背包全滿,則殘留物會掉落出來
  • 格式:物品
  • 範例:use_remainder={id:"stick",count:1}
use_cooldown
  • 元件存在時,物品在使用後會讓在同一個「冷卻群」的物品同時進入冷卻
  • 格式:具有以下欄位的物件
    • seconds:物品的冷卻秒數
    • cooldown_group:物品的冷卻群ID
      • 使用同一個冷卻群的物品會一起冷卻
      • 預設值是物品ID
  • 範例:use_cooldown={seconds:1.5,cooldown_group:"example:custom_weapon"}
item_model
  • 控制物品的模型(材質設定)
  • 所有物品都有預設值
  • 格式:物品模型ID
    • namespace:id會使用/assets/<namespace>/models/item/<id>.json的物品模型
equippable
  • 元件存在時,物品能被裝備在指定的欄位
  • 格式:具有以下欄位的物件
    • slot:裝備欄位,headchestlegsfeetbodymainhandoffhand其中之一
      • body代表的是馬、狼等非人形動物的身體
    • equip_sound:裝備時發出的音效
      • 預設值item.armor.equip_generic
    • model:裝備時顯示的盔甲模型ID
      • 模型定義寫在資源包內
      • 在頭部時,預設顯示物品本身,其他部位預設不顯示模型
    • camera_overlay:第一人稱畫面上覆蓋的圖案ID
      • 預設沒有圖
      • 使用textures/<id>.png的圖片檔
      • 範例:misc/pumpkinblur使用textures/misc/pumpkinblur.png
    • allowed_entities:可裝備此物品的的實體ID、#開頭的實體標籤,或實體ID的列表
      • 預設所有實體都能裝備(若實體擁有指定的裝備欄位)
    • dispensable:指定是否可以使用發射器進行裝備
      • 預設true
      • 如果物品本身有其他發射器的特殊互動,這個欄位不會生效
    • swappable:指定是否可以「使用」物品把物品裝到指定欄位
      • 預設true
    • damage_on_hurt:指定物品是否像盔甲那樣,在裝備並受傷時損耗耐久度
  • 範例:equippable={slot:"chest",equip_sound:"item.armor.equip_chain"}
glider
  • 元件存在,且物品正確裝備時,玩家可以使用鞘翅的滑行功能
  • 格式:空物件 {}
tooltip_style
  • 指定物品的游標提示框
  • 格式:提示框ID
    • namespace:path會解析成兩個材質sprite ID:
      • <namespace>:tooltip/<path>_background 背景
      • <namspace>:tooltip/<path>_frame 邊框
  • 範例:tooltip_style="example:special_sword"
官方沒給範例圖,所以我自己補一張。
death_protection
  • 元件存在時,握著物品可以犧牲此物品擋住致命攻擊一次
  • 格式:具有以下欄位的物件
    • death_effects:可選的列表,指定擋死後的額外效果
      • consumable元件的on_consume_effects格式相同
repairable
  • 元件存在,且物品可損失耐久度時,可以在鐵砧使用指定材料修復此物品
  • 格式:具有以下欄位的物件
    • items:材料的物品ID、#開頭的物品標籤,或物品ID的列表
  • 範例:repairable={items:"stick"}
enchantable
  • 元件存在,且有適合的附魔存在時,可以在附魔台上附魔此物品
  • 格式:具有以下欄位的物件
    • value:正整數,和附魔的強度成正相關
    • 小提醒,適當堆數值,設太高有可能反而跑出附魔的抽選範圍外
  • 範例:enchantable={value:15}

山羊角音色
現在山羊角的音色使用資料包instrument資料夾內的定義。
和其他登錄資料一樣,使用這項功能的資料包會被視為「實驗性」,並且需要重新進入世界才能重新載入。
欄位:
  • sound_event:山羊角播放的聲音事件
  • range:聲音傳遞的距離上限
  • use_duration:山羊角使用後的冷卻秒數
  • description:在物品提示框顯示的山羊角音色名稱

試煉生怪磚設定
現在試煉生怪磚使用資料包trial_spawner資料夾內的定義。
和其他登錄資料一樣,使用這項功能的資料包會被視為「實驗性」,並且需要重新進入世界才能重新載入。
  • 和試煉生怪磚的normal_configominous_config使用相同的格式
  • 依然支援舊版直接寫在生怪磚上的設定方式
  • 以上兩個config欄位除了原本的完整資料設定外,支援使用ID連結寫在資料包內的設定

繪畫
  • 新增可選的authortitle欄位,分別定義創造模式物品欄中每幅畫的作者和標題
  • 以上欄位取代原先使用繪畫名稱生成作者和標題的機制
  • 移除earthwindfirewaterwither這五幅畫的作者標記

附魔效果
  • 新增projectile_spawned元件對以下物品的支援:
    • 雪球
    • 三叉戟
    • 火球
    • 投擲藥水
    • 終界珍珠
    • 釣竿
    • 煙火
    • 風彈
    • 雞蛋
  • damage_item元件重新命名為change_item_damage,現在支援負數
    • 實際上一直都支援,這次只是把名字改得比較符合實際行為而已

配方表
原料的欄位格式簡化,現在格式和其他地方的物品欄位一致:
  • 單一物品 - {"item": "<id>"}"<id>"
  • 物品標籤 - {"tag": "<id>"}"#<id>"
  • 物品ID的列表依然支援,但列表內不再能使用物品標籤
  • 其他限制:
    • 不能使用air作為原料
    • 原料至少要有一種標籤或物品
  • smithing_transformsmithing_trim配方類型的templatebaseaddition欄位,在不需要內容的時候,從填寫空列表[]改成不填寫該欄位
crafting_transmute合成
  • 新增crafting_transmute配方類型
  • 輸出物品會替換主原料的物品ID,並保留所有非預設的物品元件
  • 完全取代crafting_special_shulkerboxcoloring
  • 欄位:
    • category:工作台配方表的分類
    • group:可選,工作台配方表的分組
    • input:主原料
    • material:額外原料
    • result:成品
  • 不能指定形狀和額外原料數量,必定是一種無序的2→1合成,且成品和主原料必須不同

戰利品表
  • 移除empty戰利品表
  • 修剪雪人的掉落物由shearing/snow_golem控制
  • 物品參數(在match_tool等條件中可用)增加支援的戰利品表類型
    • archaeology - 使用的刷子
    • vault - 開寶庫的鑰匙(在寶庫展示抽獎池的功能中不存在)
    • shearing - 修剪的剪刀
  • 雞下的蛋由gameplay/chicken_lay控制
  • 犰狳隨機掉落鱗甲由gameplay/armadillo_shed控制
羊的戰利品表
  • 所有羊統一使用entities/sheep戰利品表
  • 各色羊毛的entities/sheep/<color>戰利品表改由主表引用
    • 主表負責羊肉掉落,子表負責各色羊毛掉落
  • 修剪羊的掉落物由shearing/sheep控制
    • 這張表預設也會引用shearing/sheep/<color>的各色羊毛子表
修剪哞菇的戰利品表
  • 修剪哞菇的掉落物由shearing/mooshroom控制
  • 各色哞菇的子表是shearing/mooshroom/<variant>
村莊英雄禮物的戰利品表
  • 新增兩種村民禮物的戰利品表:
    • gameplay/hero_of_the_village/unemployed_gift - 失業村民的禮物
    • gameplay/hero_of_the_village/baby_gift - 小村民的禮物

述詞
  • 移除boat的實體子述詞,因為船不再使用「變種」進行區分
sheep的實體子述詞
  • 新增sheep的實體子述詞
  • 欄位:
    • sheared:是否處於修剪後的狀態
    • color:羊的顏色
salmon的實體子述詞
  • 新增salmon的實體子述詞
  • 欄位:
    • variant:鮭魚的大小,可以是smallmediumlarge
player實體子述詞
  • player的實體子述詞新增input欄位
    • 用於偵測玩家正在按壓的移動按鍵
    • 當欄位有填寫值的時候,會測試對應的按鍵是否正在按壓狀態
    • 包括下列欄位:
      • forward:前進(預設W)
      • backward:後退(預設S)
      • left:往左(預設A)
      • right:往右(預設D)
      • jump:跳躍(預設空白)
      • sneak:潛行(預設左Shift)
      • sprint:跑步(預設左Ctrl)

進度
觸發條件
killed_by_crossbowkilled_by_arrow
  • 會在任何來源的箭矢擊殺實體時觸發,不再限於弩箭
  • 新增測試物品的欄位fired_from_weapon
    • 用於測試射出箭矢的物品

儲物箱鎖
  • Lock欄位更新為lock,格式變為物品述詞
    • 通過述詞測試的物品能打開箱子
  • 物品形式的lock元件同步更新
  • 範例:lock:{count:{min:2}} ← 這個箱子能手持任何≥2個的物品開啟

船的ID分割
  • 船從Type欄位改成用不同實體ID區分
  • 移除實體:
    • boat
    • chest_boat
  • 新增實體:
    • 沒有箱子的普通船:
      • Type=oakoak_boat
      • Type=sprucespruce_boat
      • Type=birchbirch_boat
      • Type=junglejungle_boat
      • Type=acaciaacacia_boat
      • Type=cherrycherry_boat
      • Type=dark_oakdark_oak_boat
      • Type=mangrovemangrove_boat
      • Type=bamboobamboo_raft
    • 儲物箱船:
      • Type=oakoak_chest_boat
      • Type=sprucespruce_chest_boat
      • Type=birchbirch_chest_boat
      • Type=junglejungle_chest_boat
      • Type=acaciaacacia_chest_boat
      • Type=cherrycherry_chest_boat
      • Type=dark_oakdark_oak_chest_boat
      • Type=mangrovemangrove_chest_boat
      • Type=bamboobamboo_chest_raft

屬性值
  • 移除所有屬性ID的generic.player.zombie.前綴
  • 新增tempt_range屬性,控制部分生物能被誘惑的範圍

粒子
  • 新增block_crumble粒子,具有以下參數:
    • block_state:崩壞的方塊類型
  • 新增trail粒子,具有以下參數:
    • color:粒子的顏色
    • target:粒子移動的目標座標
  • 粒子參數的顏色格式統一:
    • RGB顏色現在都能使用小數的[r,g,b]值,或對應#RGB的單一整數
    • ARGB顏色現在都能使用小數的[r,g,b,a]值,或對應的#ARGB單一整數
    • 受影響的參數:
      • trail.color
      • dust.color - 以前只能用小數列表
      • dust_color_transition.from_color - 以前只能用小數列表
      • dust_color_transition.to_color - 以前只能用小數列表

資源包版本35 → 42
  • 新增GUI sprite
  • 新增音效
  • 新增方塊模型的發光功能
  • 新增物品模型的broken測試條件
  • 新增對自訂裝備模型的支援
  • 更改實體裝備材質的檔案路徑、名稱
  • 更新post effect定義格式
  • 更新箭矢和蜜蜂螫針的材質映射
  • 更新龍蛋的模型和UV映射
  • 更新束口袋的材質和模型
    • 束口袋的圖示使用新的模型和材質
    • 束口袋模型和材質有16色變種
  • 更新火把、紅石火把相關方塊的UV映射
  • 現在移除、重命名的翻譯內容會在啟動的時候自動生效

GUI sprite
  • nine_slice縮放模式新增stretch_inner參數
    • 設成true時,中心區塊的材質會從原本的重複排列改成伸縮
    • 沒設定時使用false,和以往的行為相同
  • 提示框背景和邊框可以自訂:
    • tooltip/background:提示框的背景
    • tooltip/frame:提示框的邊框
    • tooltip_style元件的物品會使用以下兩個材質:
      • <namespace>:tooltip/<path>_background<namespace>:tooltip/<path>_frame
  • 游標懸停中的物品欄材質可以自訂:
    • container/slot_highlight_front:在物品前方顯示的材質
    • container/slot_highlight_back:在物品背後顯示的材質
  • 相似的,束口袋選取的物品欄材質可以使用以下兩者自訂:
    • container/bundle/slot_highlight_front
    • container/bundle/slot_highlight_back
  • 移除container/bundle/backgroundcontainer/bundle/slotcontainer/bundle/blocked_slot材質
  • 新增container/bundle/slot_background材質,用於束口袋格子的背景
  • 新增container/bundle/bundle_progressbar_fillcontainer/bundle/bundle_progressbar_bordercontainer/bundle/bundle_progressbar_full材質
  • 新增hud/air_empty材質,用於氣泡條中消耗掉的氣泡

聲音
  • 新增生怪磚的破壞、墜落、擊中、放置、踩踏音效
  • 新增ui.hud.bubble_pop音效,在氣泡條的氣泡破裂時播放
  • 新增item.bundle.insert_fail音效,在嘗試放東西進束口袋但失敗時播放

方塊模型發光
  • 方塊模型「面」的定義新增light_emmision欄位
  • 使用0到15的整數,0是預設值(不發光)
  • 這個數值會表現為方塊顯示時的最小亮度

物品模型
  • broken測試條件從鞘翅下放給所有物品
    • 這個值在物品耐久度是1時為1,其他時候為0

自訂裝備顯示
玩家和部分生物的裝備外觀現在能使用資源包自訂。
  • 裝備模型的定義在assets/<namespace>/models/equipment/<path>.json
    • 這個模型可以在equippable物品元件中以namespace:path的ID引用
  • 裝備模型定義的物件包括以下欄位:wolf_bodyhorse_bodyllama_bodyhumanoidhumanoid_leggingswings
    • 每個欄位都是選填的,用來指定裝備在指定部位時的外觀
    • 每個欄位都是「圖層」物件的列表,圖層的欄位包括:
      • texture:這個圖層的材質ID
        • namespace:path會指向assets/<namespace>/textures/entity/equipment/<layer_type>/<path>.png
        • layer_type:這個圖層所屬的部位名稱
      • dyeable:指定這個圖層在物品染色時(物品屬於#dyeable,且有dyed_color元件)的表現
        • color_when_undyed#RGB的整數,指定未染色時顯示的顏色
        • 這個欄位存在時,這個圖層會使用dyed_color元件指定的顏色著色
          • 如果物品不可染色或未染色,則使用color_when_undyed參數指定的顏色
          • 承上,如果此時color_when_undyed參數不存在,則這個圖層不會顯示
      • use_player_texture:是否使用玩家skin的材質覆蓋原有的材質,預設為false
        • 只在wings部位有實際作用,會把玩家披風的材質覆蓋上鞘翅
一個同時定義了玩家和馬鎧部位的模型定義看起來會像:
{
  "layers": {
    "horse_body": [
      { "texture": "minecraft:iron" }
    ],
    "humanoid": [
      { "texture": "minecraft:iron" }
    ],
    "humanoid_leggings": [
      { "texture": "minecraft:iron" }
    ]
  }
}

盔甲紋樣
  • 所有裝備都支援繪製trim元件指定的盔甲紋樣
  • 材質會從textures/trims/entity資料夾中的對應位置取得
    • 例如,顯示wolf_body部位的紋樣會使用textures/trims/entity/wolf_body資料夾

改變路徑的材質
  • 所有和裝備相關的材質都被移動到textures/entity/equipment資料夾內
    • 玩家盔甲材質移動到textures/entity/equipment/humanoidtextures/entity/equipment/humanoid_leggings
      • <material>_layer_1改名為<material>,並屬於humanoid資料夾
      • <material>_layer_2改名為<material>,並屬於humanoid_leggings資料夾
      • leather_layer_1_overlayleather_layer_2_overlay改名為leather_overlay並分屬於對應的部位資料夾
    • wolf_armorwolf_armor_overlay材質移動到textures/entity/equipment/wolf_body中,並重新命名為armadillo_scutearmadillo_scute_overlay
    • turtle_layer_1改名為turtle_scute
    • 羊駝的地毯裝飾材質移動到textures/entity/equipment/llama_body
    • 馬鎧的材質移動到textures/entity/equipment/horse_body
    • 鞘翅的材質變成textures/entity/equipment/wings/elytra
  • 盔甲紋樣的材質也改用對應的資料夾結構
    • textures/trims/models/armor內的檔案被分割放進textures/trims/entity/humanoidtextures/trims/entity/humanoid_leggings
    • 移除腿部材質檔名的_leggings後綴

著色器和Post effect
開發團隊說明:即使現在能在資源包中覆蓋核心著色器(core shader),這項功能目前屬於「不受支援」且「並非刻意設計」的。這些著色器屬於遊戲內部使用的內容,並且會隨著遊戲更新而隨時有所改變。我們知道現在有很多很酷的資源包功能需要覆蓋核心著色器,且目前沒有其他替代方案。我們未來將會提供更好,且受到支援的替代方案。
  • 著色器程式設定中可以設定作用在對應著色器的#define提示詞
    • 很多著色器利用了這項功能進行合併
  • 統一核心著色器和post effect著色器的程式設定格式
  • 更新post effect程式設定的格式
  • 地形著色器的ChunkOffset變數改名為ModelOffset
  • 移除rendertype_entity_glint_direct著色器(由rendertype_entity_glint替代)
  • 移除rendertype_entity_translucent_cull著色器(由rendertype_item_entity_translucent_cull替代)
著色器程式定義
  • 更新post effect的程式設定(assets/<namespace>/shaders/program/<name>.json)格式,現在和核心著色器的程式設定(assets/<namespace>/shaders/core/<name>.json)格式一致
    • 移除blend欄位,因為這個欄位沒有用途
    • 移除attributes欄位,現在必定會提供Position屬性
    • 統一變數名稱
      • Time改名為GameTime
  • vertex和fragment著色器的路徑格式改為ID
    • <namespace>:<path>的vertex著色器位於assets/<namespace>/shaders/<path>.vsh
    • <namespace>:<path>的fragment著色器位於assets/<namespace>/shaders/<path>.fsh
  • 著色器的程式檔案不再必須放在shaders/core資料夾內
  • 設定檔新增defines欄位
    • 用於生成#define提示詞並併入GLSL檔案中
    • values:字串到字串的映射
      • 會被轉換成#define <key> <value>併入檔案最上方
    • flags:字串的列表
      • 會被轉換成#define <key>併入檔案最上方
著色器的匯入提示詞
  • #moj_import提示詞現在支援使用命名空間ID指定絕對路徑
    • 例如,#moj_import <minecraft:fog.glsl>會匯入assets/minecraft/shaders/include/fog.glsl
  • 相對路徑沒有命名空間,表現和過去相同
Post effect定義
  • post effect的定義從assets/<namespace>/shaders/post移動到assets/<namespace>/post_effect
  • 這些效果使用的vertex和fragment著色器從assets/<namespace>/shaders/program移動到assets/<namespace>/shaders/post
  • name欄位改名為program,並且使用著色器程式設定檔的ID
    • <namespace>:<path>指向assets/<namespace>/shaders/<path>.json
  • intargetauxtargets欄位合併為inputs列表,內容的物件格式在下一段詳述
  • outtarget欄位改名為output
  • targets的定義方式從列表改成映射
    • 普通繪製目標定義使用空物件值
      • 例如,["swap"]{"swap": {}}
    • 有大小的繪製目標定義和原先相似,但name欄位改成映射的關鍵字
      • 例如,[{"name": "potato", "width": 16, "height": 16}]{"potato": {"width": 16, "height": 16}}
inputs列表的物件
繪製目標和材質輸入都能使用以下欄位:
  • sampler_name:字串,在著色器程式中的變數會加上SamplerSize後綴
    • 例如,"sampler_name": "Diffuse"會連結到DiffuseSamplerDiffuseSize變數
    • 以前在intarget中,這兩個變數固定是DiffuseSamplerInSize
    • auxtarget而言,name定義了一個採樣變數,大小會存在AuxSize<index>變數中
  • bilinear:預設為false,當設定為true時,輸入會使用雙線性過濾
    • 這個功能以前只存在材質輸入,現在能對繪製目標作用
    • 對繪製目標而言,這個功能取代已經被移除的use_linear_filter欄位
繪製目標能使用以下欄位:
  • target:指定繪製目標的ID
    • 必須是在同一個檔案定義的ID,或是minecraft:main指向遊戲畫面
    • 取代過去的id欄位
  • use_depth_buffer:預設為false,當設定為true時,從深度材質取樣,反之從色彩材質取樣
    • 取代過去在ID中使用的:depth後綴
靜態材質輸入能使用以下欄位:
  • location:材質的ID
    • 和過去的id一樣,指向assets/<namespace>/textures/effect/<path>.png的材質
  • width:材質的寬度
  • height:材質的高度
外部繪製目標
  • 極致!畫質的透明效果設定不再占用自訂目標的關鍵字
    • 現在這些目標和minecraft:main使用一樣的引用方法
    • translucentitemEntityparticlesweatherclouds分別變成minecraft:translucentminecraft:item_entityminecraft:particlesminecraft:weatherminecraft:clouds
  • 實體外框的效果現在引用的是minecraft:entity_outline目標

翻譯內容的移除和重新命名
  • 載入時,部分棄用的翻譯內容會被刪除或覆蓋
  • 使用這些舊翻譯的資源包需要手動重新加入這些內容
  • 完整設定在assets/minecraft/lang/deprecated.json

實驗性內容略。
已修復問題老樣子,自己去看完整319個已修復bug的列表
重點部分:
  • MC-272414:爆炸使用正常的約2倍計算量,導致lag發生
  • MC-274911:突襲農場(正文有提及突襲生成機制的改變)
  • MC-59471:線複製機
  • MC-269656:手持重錘毒殺鸚鵡會解鎖「天賜良擊」成就
  • MC-265693:玩家單純移動不被視為有效操作,並會被伺服器的掛機計時器踢出
  • MC-119369:船在墜落特定整數高度後會爆掉,並且不抵銷乘客的摔傷
  • MC-1673:mobGriefing無法控制怪物破壞繪畫、物品展示框等實體的行為
  • MC-273281:附魔的projectile_spawned效果執行時間早於投射物載入資料
  • MC-269428:怪物的重錘不會發動墜落攻擊
  • MC-271826:盔甲不使用attribute_modifiers元件指定預設屬性值
  • MC-270742:展示實體跨越180度分界的旋轉行為不正確
  • MC-145656:follow_range屬性對找到目標前的怪物沒有作用
  • MC-124331:紅石燈不會在地圖上顯示
1.21.3只是處理Realms重大bug的修復版本,沒有其他大幅度的更新。

這個版本值得好幾篇技術性內容的教學
等我忙完別的事情來寫

創作回應

相關創作

更多創作