跳到正文
本页目录

基岩版 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 上会被跳过。