基岩版 1.26.45
1.26.45 協議族的說明:協議 2169,BDS 1.26.45.1。向 createBot 傳入 version: '1.26.45' 或
version: '1.26.45.1',此時 bot.version 為 '1.26.45',bot.protocolVersion 為 2169。以下內容均在運行中的
BDS 1.26.45.1 上驗證,並與默認版本 BDS 1.26.51.1 對比(參見 BDS 筆記 與
連接與版本)。
數據
@bedboo/bedrock-data 提供 data/1.26.45/,由 scripts/generate.js --version 1.26.45 生成,來源:
| 來源 | 固定版本 |
|---|---|
| minecraft-data | 3.119.0(bd8b5c60),data/bedrock/1.26.40(minecraft-data 將 1.26.45 的方塊、物品與材質指向這裡) |
| CloudburstMC/Data | 040a6cc9(26.50 之前的最後一次提交;方塊轉儲仍名為 block_properties.json) |
| gophertunnel | 7f058e5d("Updated for 1.26.45",協議 2169) |
| pmmp/BedrockData | bdb44a48(1.26.30,與 1.26.51 相同) |
| 實機探測 | scripts/probe/1.26.45.json(BDS 1.26.45.1) |
與 1.26.51 相比:
- 方塊: 17 499 個方塊狀態(1.26.51 為 22 091)。每個狀態的哈希都與 BDS 轉儲一致(與 1.26.51 一樣只有
unknown在允許列表中);碰撞箱覆蓋使用同一份允許列表(門、end_portal_frame)。 - 物品: 1 976 個物品,全部與 BDS 運行時物品狀態一致。
shelf_mushroom尚不存在,因此配方標籤minecraft:mushrooms_for_stew只展開為棕色與紅色蘑菇。 - 生物群系: 88 個原版生物群系,ID 0..194。
dappled_forest(195)在 1.26.50 才加入。 - 實體: 沒有
cushion實體。其餘探測到的碰撞箱尺寸與 1.26.51 相同。 - 狀態效果與附魔: ID 與 1.26.51 相同(效果 1..37,附魔 0..41)。
協議差異
minecraft-data 的 1.26.45 協議與 1.26.40 完全相同。與 1.26.51(協議 2193)相比,以下差異涉及 bedboo 讀寫的內容:
- 雙重可選字段(特性
optionalsHavePresenceFlag,與 1.26.40 相同):player_auth_input的可選部分 (物品交互及其動作、物品堆疊請求、方塊動作、載具旋轉、預測載具)以及每個交易動作的window_id/flags前各有一個客戶端 總是寫為true的外層存在標誌(gophertunnelDoubleOptionalFunc;minecraft-data 的*_presence字段),且input_data本身也是可選的。bedboo 在該協議族的序列化器中填入這些標誌(lib/bedrock/presence.js);若不設置, bedrock-protocol 會將其寫為false,按協議讀取的一方之後的每個字段都會錯位一個字節。 inventory_transaction:transaction_type與actions為可選字段;item_use數據沒有hand字段 (沒有副手使用交易:服務器使用主手)。item_stack_response: 多出containers_presence/item_stack_id_presence標誌;讀取方式不變。- 讀取但未使用的差異:
boss_event多一個player_id,move_entity_delta沒有ticks,play_sound沒有bypass_listener_range_check/playback_position_seconds,dimension_data的高度字段名為max_height/min_height,子區塊高度圖為 256 字節緩衝區,camera_presets沒有起始旋轉,serverbound_pack_setting_change沒有字符串列表值。 - 1.26.45 中不存在:
set_player_furnace_options與record_started(bedboo 均未使用)。
服務器差異
- 默認傳輸層: BDS 1.26.45.1 默認
transport=raknet(特性defaultTransportIsNethernet為 false)。在server.properties中選擇 NetherNet 同樣可用。 - 命令:
available_commands將command參數類型(/execute … run <command>)編號為 88 而非 90,因此bot.tabComplete與 1.26.40 一樣為其使用 1.26.40 的表。bedboo 補全的其他參數類型 ID(目標 8/10、座標 64/65、消息 68、 原始文本 70、JSON 74)均相同。沒有/serveridentity命令。 - 與 1.26.51 相同:世界時間來自
sync_world_clocks(沒有set_time)、生成後的加載界面門檻、加入流程,以及狀態效果、 附魔與物品堆疊請求的編號。
測試
BEDBOO_VERSION=1.26.45 pnpm test 針對該協議族運行單元測試(CI 的 unit 矩陣包含它)。沒有
test/fixtures/1.26.45/join_flat 抓包:回放已錄製加入流程的測試依賴 1.26.51 抓包的細節(實體 ID、配方網絡 ID、
物品數量),在 1.26.45 上會被跳過。