Quick Answer
Your add-ons break after updating to Minecraft Bedrock v26.0/v26.2 (1.21.20+) because Mojang introduced breaking changes to the script engine (ES modules), entity component system, and biome system. Packs using legacy require() syntax, removed entity components (like minecraft:behavior.nearest_attackable_target), or old biome JSON formats will fail silently or spam errors. Update your pack manifests to min_engine_version: [1, 21, 20], migrate scripts to ES modules, and replace deprecated components.
What Changed in v26.0/v26.2 (July 2026)
- Script Engine → ES Modules: Legacy
require()andmodule.exportsare removed. All scripts must useimport/exportsyntax. - Entity Component Removals: Several AI and behavior components were renamed or removed (e.g.,
minecraft:behavior.nearest_attackable_target→minecraft:behavior.attack_players). - Biome System Overhaul: Old biome JSON files using
"minecraft:biome"root keys now require the new"minecraft:biome_template"format with climate parameters. - Animation Controller Changes:
scripts/animatenow requires explicit state machine definitions; inline Molang in animations is stricter. - Render Controller Updates: Geometry and material references must use new identifier formats (namespace:path).
Step-by-Step Fixes
1. Update manifest.json min_engine_version
Open your pack’s manifest.json and ensure the header includes:
"min_engine_version": [1, 21, 20]
Packs with lower versions will not load on v26.0+.
2. Migrate Scripts to ES Modules
Before (legacy – broken):
// main.js
const { world } = require("@minecraft/server");
module.exports = { init: () => { ... } };
After (ES modules – required):
// main.js
import { world, system } from "@minecraft/server";
export function init() { ... }
Also update manifest.json script entry to use type": "module":
"modules": [
{ "type": "script", "entry": "scripts/main.js", "language": "javascript" }
]
3. Fix Deprecated Entity Components
| Removed / Deprecated | Replacement (v26.0+) |
|---|---|
minecraft:behavior.nearest_attackable_target | minecraft:behavior.attack_players |
minecraft:behavior.look_at_player | minecraft:behavior.look_at_entity with entity_types filter |
minecraft:behavior.random_stroll | minecraft:behavior.random_walk |
minecraft:navigation.walk | minecraft:navigation.generic |
4. Update Biome JSON to New Template Format
Old format (broken):
{
"minecraft:biome": {
"components": { ... }
}
}
New format (required):
{
"minecraft:biome_template": {
"climate": { "temperature": 0.5, "downfall": 0.5 },
"components": { ... }
}
}
Platform-Specific Notes
- Windows 10/11 (Store/Launcher): Auto-updates to v26.2 — test packs immediately after update.
- iOS/iPadOS: App Store update rolls out in waves; force-close Minecraft and reopen to trigger update check.
- Android: Google Play staged rollout — join beta program for early access to test packs.
- Nintendo Switch / Xbox / PS5: Console updates are mandatory; packs must be compatible at launch.
- Realms: Realms servers auto-update to v26.2 — all active worlds’ add-ons must be compatible or they’ll disable.
Debugging Script Errors
Check content_log.txt in com.mojang/ for:
[Error] Script module resolution failed: Cannot find module '@minecraft/server'
[Error] Component 'minecraft:behavior.nearest_attackable_target' not found
[Error] Biome template missing climate parameters
Each error maps directly to one of the fixes above.
Still Having Issues?
Compare your pack against the official bedrock-samples repo — Mojang maintains updated reference packs for v26.0+. Also see our guide: Fix .mcaddon Import Issues.
Updated for Minecraft Bedrock 1.21.20+ (v26.0/v26.2), July 2026.
