跳到正文
本頁目錄

基岩版 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-data3.119.0(bd8b5c60),data/bedrock/1.26.40(minecraft-data 將 1.26.45 的方塊、物品與材質指向這裡)
CloudburstMC/Data040a6cc9(26.50 之前的最後一次提交;方塊轉儲仍名為 block_properties.json)
gophertunnel7f058e5d("Updated for 1.26.45",協議 2169)
pmmp/BedrockDatabdb44a48(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 的外層存在標誌(gophertunnel DoubleOptionalFunc;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 上會被跳過。