Skip to content
On this page

Bedrock 1.26.45

Notes for the 1.26.45 protocol family: protocol 2169, BDS 1.26.45.1. Pass version: '1.26.45' or version: '1.26.45.1' to createBot; bot.version is then '1.26.45' and bot.protocolVersion 2169. Everything here was checked on a running BDS 1.26.45.1 and compared with BDS 1.26.51.1, the default version (see BDS notes and Connection and versions).

Data

@bedboo/bedrock-data ships data/1.26.45/, generated by scripts/generate.js --version 1.26.45 from:

SourcePin
minecraft-data3.119.0 (bd8b5c60), data/bedrock/1.26.40 (minecraft-data points 1.26.45's blocks, items and materials there)
CloudburstMC/Data040a6cc9 (last commit before 26.50; the block dump is still called block_properties.json)
gophertunnel7f058e5d ("Updated for 1.26.45", protocol 2169)
pmmp/BedrockDatabdb44a48 (1.26.30, same as 1.26.51)
live probescripts/probe/1.26.45.json (BDS 1.26.45.1)

Compared with 1.26.51:

  • Blocks: 17 499 block states (1.26.51: 22 091). Every state hash matches the BDS dump (only unknown is allowlisted, as on 1.26.51); the collision overrides are the same allowlist (doors, end_portal_frame).
  • Items: 1 976 items, all matching the BDS runtime item states. shelf_mushroom does not exist yet, so the minecraft:mushrooms_for_stew recipe tag only expands to the brown and red mushroom.
  • Biomes: 88 vanilla biomes, ids 0..194. dappled_forest (195) arrived in 1.26.50.
  • Entities: no cushion entity. Every other probed bounding box is the same as on 1.26.51.
  • Effects and enchantments: same ids as 1.26.51 (effects 1..37, enchantments 0..41).

Protocol differences

minecraft-data's 1.26.45 protocol is identical to 1.26.40's. Against 1.26.51 (protocol 2193) these differences touch what bedboo reads or writes:

  • Double optionals (feature optionalsHavePresenceFlag, shared with 1.26.40): the optional parts of player_auth_input (item interaction and its actions, item stack request, block actions, vehicle rotation, predicted vehicle) and the window_id / flags of every transaction action are each preceded by an outer presence bool that the client always writes as true (gophertunnel DoubleOptionalFunc; minecraft-data's *_presence fields), and input_data is itself optional. bedboo fills these bools in its serializer for this family (lib/bedrock/presence.js); left unset, bedrock-protocol writes them as false and a reader that follows the schema reads every later field one byte off.
  • inventory_transaction: transaction_type and actions are optionals; item_use data has no hand field (no off-hand use transaction: the server uses the main hand).
  • item_stack_response: extra containers_presence / item_stack_id_presence bools; read as before.
  • Read but unused differences: boss_event has an extra player_id, move_entity_delta has no ticks, play_sound has no bypass_listener_range_check / playback_position_seconds, dimension_data names its height fields max_height / min_height, sub-chunk height maps are 256-byte buffers, camera_presets has no starting rotation, and serverbound_pack_setting_change has no string-list value.
  • Not in 1.26.45: set_player_furnace_options and record_started (bedboo uses neither).

Server differences

  • Default transport: BDS 1.26.45.1 ships transport=raknet (feature defaultTransportIsNethernet is false). NetherNet works too when server.properties selects it.
  • Commands: available_commands numbers the command parameter type (/execute … run <command>) 88 instead of 90, as on 1.26.40, so bot.tabComplete uses the 1.26.40 table for it. Every other parameter type id bedboo completes (targets 8/10, positions 64/65, message 68, raw text 70, JSON 74) is the same. There is no /serveridentity command.
  • Same as 1.26.51: world time comes from sync_world_clocks (no set_time), the loading screen gate after spawn, the join sequence and the effect, enchantment and item stack request numbering.

Tests

BEDBOO_VERSION=1.26.45 pnpm test runs the unit tests against this family (CI runs it in the unit matrix). There is no test/fixtures/1.26.45/join_flat capture: the tests that replay the recorded join encode details of the 1.26.51 capture (entity ids, recipe network ids, item counts) and skip on 1.26.45.