Add-ons, not Java mods: setting up Minecraft Bedrock packs

Import packs, enable them per world, and turn on scripting when needed

AndreaDev3D
·
Add-ons, not Java mods: setting up Minecraft Bedrock packs

Minecraft Bedrock does not use Forge, Fabric, or any jar-file mod loader. It uses add-ons: official behavior and resource packs you import and enable per world. This guide covers importing a pack, switching it on, and enabling the scripting experiment when an add-on calls for it.

Behavior packs, resource packs, and add-ons

Three terms cover almost everything:

  • Resource pack: changes how the game looks and sounds. Textures, models, audio, UI.
  • Behavior pack: changes how the game behaves. Mob AI, drops, crafting, custom entities.
  • Add-on: a resource pack and behavior pack designed to work together.

The file types follow from that. A .mcpack holds one pack. A .mcaddon holds a matched set.

Import a pack

On phone, console, or a Windows 10/11 install, importing is a double-click.

  1. Download the .mcpack or .mcaddon.
  2. Open the file. Your device hands it to Minecraft, which imports the pack into your library.
  3. Wait for the confirmation that it imported successfully.

That is the whole import step on a client. Nothing goes into a folder by hand.

Enable it on a world

Importing does not switch a pack on. You apply it to a world.

  1. Create a new world or edit an existing one.
  2. Open the Behavior Packs or Resource Packs section in the world settings.
  3. Activate the pack you imported. If you applied a behavior pack that needs a matching resource pack, enable both.
  4. Start the world. The add-on is live.

Turn on scripting when a pack needs it

Some add-ons use the Bedrock Script API, written in JavaScript or TypeScript, for logic the standard packs cannot express. These need an experiment enabled.

  1. In the world's settings, open the Experiments section.
  2. Enable Beta APIs.
  3. Apply the script-based behavior pack as above.

Worlds with experiments turned on are flagged, and that flag does not come back off, so use a copy of a world you care about.

Where to find add-ons

There are two distinct sources, and which is open to you depends on your platform.

  • MCPEDL and similar community sites host free .mcpack and .mcaddon files you side-load. This is the main free scene, best supported on Windows and Android where you can open downloaded files directly.
  • The Marketplace, built into the game, sells curated add-ons, maps, and skin packs for Minecoins. On consoles that block side-loading, this is usually the only route.

Both deliver the same behavior-and-resource-pack technology, so a Marketplace add-on and a free one work the same way once they are on a world.

Using add-ons on Realms and servers

Importing locally is only half the story if you play with others. On a Realm, the world owner applies packs to the Realm's world, and they sync to everyone who joins. On a self-hosted Bedrock server, packs go into the world's folders and are registered in world_behavior_packs.json and world_resource_packs.json by pack ID and version, which must match each pack's manifest. A mismatch there is the usual reason a server-side pack silently fails to load.

Common gotchas

  • The pack imported but nothing changed. Importing is not enabling. Activate it in the world's pack settings.
  • A behavior pack does nothing. Many behavior packs need their paired resource pack enabled too.
  • A script add-on errors out. It needs Beta APIs turned on in that world's experiments.
  • The pack will not load at all. Its manifest targets a different game version. Check the pack's stated Minecraft version.
  • You expected Java mods. Bedrock and Java use different formats. A Java mod will not run on Bedrock.

Where to go next

For how the Bedrock scene fits together and what OpenMods catalogues, see the Minecraft Bedrock overview.

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.