跳到正文
本页目录

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 备忘)。