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-animals和spawn-npcs
- 這兩個選項應由遊戲規則控制
- 擴充text-filtering-config的功能,以支援和Realms之間的字詞過濾設定移植
- 原有功能不受影響,現在使用這個功能的伺服器不做任何修改也不會造成功能故障
通訊協定
- 新增client_tick_end封包,在客戶端處理完目前的tick後送出
- 開放伺服器修改Tab玩家名單的玩家順序
- 以非負的數值由高到低排序
- 客戶端也會受到伺服器的粒子數限制
- 伺服器只會傳送已知的合成配方給客戶端
- 移除先前暫時加入的strictErrorHandling選項
資料包版本49 → 57
- 增加標籤
- 指令更新
- 增加遊戲規則disablePlayerMovementCheck
- 物品元件更新
- 新增資料驅動的山羊角音色、試煉生怪磚設定
- 繪畫的資料定義更新
- 增加附魔效果功能
- 移除crafting_special_suspiciousstew合成類型
- 簡化配方表的原料格式
- 增加戰利品表
- 增加述詞
- 進度的觸發條件更新
- 儲物箱鎖的功能更新
- tnt和tnt_minecart新增explosion_power參數
- 預設值是4
- TNT礦車會把這個值加到以速度為基礎的爆炸力上
- 分割boat和chest_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_resistant → damage_resistant
- 新增參數欄位types,使用一個#開頭的傷害類型標籤
- 此物品的掉落物實體會免疫指定種類的傷害
- 同時控制物品的裝備者受到指定種類的傷害時,不會讓此物品的耐久度受損
item_name
- 所有物品都有預設值
- 這個元件提供的物品名稱會被其他所有名稱來源覆蓋掉
- 例如:來自potion_contents的藥水名稱、來自written_book_content的非空書本標題
potion_contents
- 新增可選的參數欄位custom_name
- 存在時,這個參數會用於生成藥水名稱
- 例如,參數為foo且物品是lingering_potion,則藥水名稱會翻譯成item.minecraft.lingering_potion.effect.foo
新的物品元件
consumable
- 元件存在時,物品可以使用並消耗
- 如果food、potion_contents、ominous_bottle_amplifier或suspicious_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:裝備欄位,head、chest、legs、feet、body、mainhand、offhand其中之一
- 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_config、ominous_config使用相同的格式
- 依然支援舊版直接寫在生怪磚上的設定方式
- 以上兩個config欄位除了原本的完整資料設定外,支援使用ID連結寫在資料包內的設定
繪畫
- 新增可選的author和title欄位,分別定義創造模式物品欄中每幅畫的作者和標題
- 以上欄位取代原先使用繪畫名稱生成作者和標題的機制
- 移除earth、wind、fire、water、wither這五幅畫的作者標記
附魔效果
- 新增projectile_spawned元件對以下物品的支援:
- 雪球
- 三叉戟
- 火球
- 投擲藥水
- 終界珍珠
- 釣竿
- 煙火
- 風彈
- 雞蛋
- damage_item元件重新命名為change_item_damage,現在支援負數
- 實際上一直都支援,這次只是把名字改得比較符合實際行為而已
配方表
原料的欄位格式簡化,現在格式和其他地方的物品欄位一致:
- 單一物品 - {"item": "<id>"} → "<id>"
- 物品標籤 - {"tag": "<id>"} → "#<id>"
- 物品ID的列表依然支援,但列表內不再能使用物品標籤
- 其他限制:
- 不能使用air作為原料
- 原料至少要有一種標籤或物品
- smithing_transform、smithing_trim配方類型的template、base、addition欄位,在不需要內容的時候,從填寫空列表[]改成不填寫該欄位
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:鮭魚的大小,可以是small、medium或large
player實體子述詞
- player的實體子述詞新增input欄位
- 用於偵測玩家正在按壓的移動按鍵
- 當欄位有填寫值的時候,會測試對應的按鍵是否正在按壓狀態
- 包括下列欄位:
- forward:前進(預設W)
- backward:後退(預設S)
- left:往左(預設A)
- right:往右(預設D)
- jump:跳躍(預設空白)
- sneak:潛行(預設左Shift)
- sprint:跑步(預設左Ctrl)
進度
觸發條件
killed_by_crossbow → killed_by_arrow
- 會在任何來源的箭矢擊殺實體時觸發,不再限於弩箭
- 新增測試物品的欄位fired_from_weapon
- 用於測試射出箭矢的物品
儲物箱鎖
- Lock欄位更新為lock,格式變為物品述詞
- 通過述詞測試的物品能打開箱子
- 物品形式的lock元件同步更新
- 範例:lock:{count:{min:2}} ← 這個箱子能手持任何≥2個的物品開啟
船的ID分割
- 船從Type欄位改成用不同實體ID區分
- 移除實體:
- boat
- chest_boat
- 新增實體:
- 沒有箱子的普通船:
- Type=oak → oak_boat
- Type=spruce → spruce_boat
- Type=birch → birch_boat
- Type=jungle → jungle_boat
- Type=acacia → acacia_boat
- Type=cherry → cherry_boat
- Type=dark_oak → dark_oak_boat
- Type=mangrove → mangrove_boat
- Type=bamboo → bamboo_raft
- 儲物箱船:
- Type=oak → oak_chest_boat
- Type=spruce → spruce_chest_boat
- Type=birch → birch_chest_boat
- Type=jungle → jungle_chest_boat
- Type=acacia → acacia_chest_boat
- Type=cherry → cherry_chest_boat
- Type=dark_oak → dark_oak_chest_boat
- Type=mangrove → mangrove_chest_boat
- Type=bamboo → bamboo_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/background、container/bundle/slot、container/bundle/blocked_slot材質
- 新增container/bundle/slot_background材質,用於束口袋格子的背景
- 新增container/bundle/bundle_progressbar_fill、container/bundle/bundle_progressbar_border、container/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_body、horse_body、llama_body、humanoid、humanoid_leggings、wings
- 每個欄位都是選填的,用來指定裝備在指定部位時的外觀
- 每個欄位都是「圖層」物件的列表,圖層的欄位包括:
- 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/humanoid和textures/entity/equipment/humanoid_leggings中
- <material>_layer_1改名為<material>,並屬於humanoid資料夾
- <material>_layer_2改名為<material>,並屬於humanoid_leggings資料夾
- leather_layer_1_overlay和leather_layer_2_overlay改名為leather_overlay並分屬於對應的部位資料夾
- wolf_armor和wolf_armor_overlay材質移動到textures/entity/equipment/wolf_body中,並重新命名為armadillo_scute和armadillo_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/humanoid和textures/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
- intarget和auxtargets欄位合併為inputs列表,內容的物件格式在下一段詳述
- outtarget欄位改名為output
- targets的定義方式從列表改成映射
- 普通繪製目標定義使用空物件值
- 例如,["swap"] → {"swap": {}}
- 有大小的繪製目標定義和原先相似,但name欄位改成映射的關鍵字
- 例如,[{"name": "potato", "width": 16, "height": 16}] → {"potato": {"width": 16, "height": 16}}
inputs列表的物件
繪製目標和材質輸入都能使用以下欄位:
- sampler_name:字串,在著色器程式中的變數會加上Sampler和Size後綴
- 例如,"sampler_name": "Diffuse"會連結到DiffuseSampler和DiffuseSize變數
- 以前在intarget中,這兩個變數固定是DiffuseSampler和InSize
- 對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使用一樣的引用方法
- translucent、itemEntity、particles、weather、clouds分別變成minecraft:translucent、minecraft:item_entity、minecraft:particles、minecraft:weather、minecraft: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的修復版本,沒有其他大幅度的更新。
這個版本值得好幾篇技術性內容的教學
等我忙完別的事情來寫