跳到正文
本頁目錄

Bedrock 1.26.40

1.26.40 協議族:協議 2168,BDS 1.26.42.1、1.26.43.1 和 1.26.44.3。三個版本使用同一協議,因此 createBot({ version }) 既接受協議族('1.26.40'),也接受其中任一 BDS 版本;機器人報告 bot.version === '1.26.40'、bot.protocolVersion === 2168。以下內容均在 BDS 1.26.44.3 上核實(加入冒煙測試覆蓋全部三個版本); 文檔其餘頁面以 1.26.51 為準。

數據

@bedboo/bedrock-data 提供 data/1.26.40/,由以下來源生成:

  • minecraft-data 3.119.0 data/bedrock/1.26.40(方塊、方塊狀態、碰撞箱、物品、材質);
  • CloudburstMC/Data 040a6cc(26.40 的最後一個提交)。其逐狀態方塊導出文件仍名為 block_properties.json (26.50 起改名為 blocks.json),格式與調色板順序相同;
  • gophertunnel 4794743(協議 2168,關卡音效名稱)和 pmmp/BedrockData bdb44a4(生物群系 ID,與 1.26.51 相同);
  • 對 BDS 1.26.44.3 的實機探測(scripts/probe/1.26.40.json)。

與 1.26.51 的差異:

1.26.401.26.51
方塊 / 方塊狀態1 379 / 17 4991 477 / 22 091(26.50 新增了混凝土與羊毛的臺階、樓梯等)
物品1 9762 076
生物群系88:沒有 dappled_forest89
實體136:沒有 cushion137
效果 ID、附魔 ID、實體尺寸相同

線路格式差異

bedboo 按 1.26.51 的格式構造所有數據包;有影響的差異按協議族處理(特性 optionalsHavePresenceFlag,見 bot.supportFeature):

  • 雙重可選字段。 1.26.40 將部分可選字段寫成“外層存在標誌 + 普通可選字段”(gophertunnel DoubleOptionalFunc): player_auth_input(transaction、item_stack_request、block_action、vehicle_rotation、predicted_vehicle, 以及其 transaction 中的 actions)、所有交易動作(window_id、flags)和 item_stack_response (containers、item_stack_id)。bedboo 在序列化前補上外層標誌,與 gophertunnel 一樣始終為 true(未設置時會被序列化為 0:BDS 1.26.44.3 恰好也接受,但按協議定義解析的一方會把數據包後續內容讀錯位)。收到的數據包保留多出的 *_presence 字段,沒有代碼讀取它們。
  • player_auth_input.input_data 是可選字段(1.26.50 起為普通列表);bedboo 總是發送它。
  • bedboo 不讀寫、因而沒有影響的差異:boss_event.player_id(1.26.50 移除)、move_entity_delta.ticks、 play_sound 的播放字段和 subchunk 高度圖格式(1.26.50 新增)、dimension_data 字段名、 serverbound_pack_setting_change、熔爐選項與唱片數據包(1.26.50)。
  • 時間通過 sync_world_clocks 同步,與 1.26.51 相同(沒有 set_time)。

服務器行為

  • 命令: 命令參數的數字 value_type 只有一處不同:execute … run <command> 為 88(1.26.51 為 90, 其間新增了兩種類型)。目標(8、10)、座標(64、65)、消息(68)、原始文本(70)和 JSON(74)相同。 bot.tabComplete 使用對應協議族的表。
  • 傳輸: server.properties 默認 transport=raknet;選擇 NetherNet 時可用(與 1.26.51 相同,使用服務器端口上的 HTTP 信令)。
  • 加入流程、加載畫面門檻、區塊請求模式、服務器權威物品欄和物品堆請求編號與 1.26.51 相同(BDS 備忘)。