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/BedrockDatabdb44a4(生物群系 ID,与 1.26.51 相同); - 对 BDS 1.26.44.3 的实机探测(
scripts/probe/1.26.40.json)。
与 1.26.51 的差异:
| 1.26.40 | 1.26.51 | |
|---|---|---|
| 方块 / 方块状态 | 1 379 / 17 499 | 1 477 / 22 091(26.50 新增了混凝土与羊毛的台阶、楼梯等) |
| 物品 | 1 976 | 2 076 |
| 生物群系 | 88:没有 dappled_forest | 89 |
| 实体 | 136:没有 cushion | 137 |
| 效果 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 备忘)。