Minecraft Bedrock v1.26.20.4: Explicit Collision Boxes and Knockback Rules

| v1.26.20.4 | Changes from v1.26.10.4

The first stable release since March. 17 entities updated, 9 trading files restructured, and recipe unlock conditions added. Mojang is replacing implicit assumptions with explicit data.

Collision Boxes for Babies

The biggest pattern across entity changes. Previously, baby mob collision boxes were derived implicitly from the adult box scaled by 0.5. Now they’re declared explicitly per component group, with comments showing the math (e.g. 0.98/0.5 for a baby zombie).

Affected entities: zombie, drowned, husk, zombie pigman, zombie villager, piglin, fox, glow squid, squid, hoglin, and villager.

Adult entities that lacked explicit collision boxes also got them. The hoglin base components now declare height: 1.9, width: 0.6 where none existed before.

Pushable Component Split

The old minecraft:pushable component with is_pushable and is_pushable_by_piston booleans is gone. Replaced by two separate components: minecraft:pushable_by_entity and minecraft:pushable_by_block. Both are empty objects for now. This hits iron golem, zombie, drowned, glow squid, squid, and villager.

Splitting these lets add-on packs override one without touching the other.

Knockback Rules

Two entities gained the new minecraft:apply_knockback_rules component with explicit presets:

  • Iron golem: horizontal_power: 1.3, vertical_power: 0.39, vertical_velocity_cap: 0.8. Standard melee knockback.
  • Drowned: horizontal_power: 1.5, vertical_power: -0.6, vertical_velocity_cap: -0.4 with check_if_target_is_immersed_in_water: true. Negative vertical values mean the drowned pushes targets down underwater. Drowning people, as intended.

Camel Baby States

The camel got proper baby sitting/standing states. Before this, baby camels used the adult camel_standing component group. Now they get camel_baby_standing and camel_baby_sitting with their own collision boxes and pushable rules. The sit/stand events branch on is_baby to trigger the correct state.

Panda and Sheep Ride Positions

Baby undead mobs ride pandas and sheep. The minecraft:rideable component moved from the panda’s base components into the baby and adult component groups with different seat positions. Baby pandas seat riders at y: 0.75, adults at y: 1.025. The old base component had y: 1.085 with a comment admitting “this value results in zombies floating when riding baby cats,” but couldn’t change without breaking existing mobs. Now it can.

Sheep gained a rideable component in the baby group at y: 0.70. The old rideable_sheared group reference was removed from baby spawn events.

Trading Schema Rewrite

All 9 villager trading files were restructured to a new schema with format_version: 1.26.10. Trades now nest inside groups arrays with num_to_select parameters. Items use a choice array wrapper with explicit functions arrays. Tiers gained total_exp_required fields.

Same trades, composable structure. The choice wrapper and num_to_select suggest future support for weighted random trade pools within a tier.

Recipe Unlock Conditions

20+ furnace recipes gained unlock conditions specifying which item the player needs to discover the recipe. Leaves unlock when you have the matching leaf block. Copper horse armor unlocks when you have the armor. The torch recipe changed its unlock from stone_pickaxe to the minecraft:is_pickaxe tag plus minecraft:coals and minecraft:stick.

Localization Highlights

Strings for Drop 2 of 2026 appeared: “Explore a new underground biome where you can find a bouncy friend to play with.” A new Creator settings tab for content logs and script debugger management. A “Storage” settings tab for managing worlds and packs. The “Identify” keybind was renamed to “Identify Block.”

Format Version Bump

All 17 entities moved to format_version: 1.26.20. This is the version gate for the new pushable components and knockback rules. Entities on older format versions keep the old behavior.