MINECRAFTHUB.IO
Beginner

How to Make a Minecraft Bedrock Add-On

Making a Minecraft Bedrock add-on means building a behavior pack and a resource pack, each with a manifest.json carrying its own unique ID, then loading both into a test world before packaging the result to share.

MinecraftHub-generated editorial cover for how to make a Minecraft Bedrock add-on, showing a resource pack and behavior pack merging into one packaged crate

Published

Making a Minecraft Bedrock add-on means building a behavior pack and a resource pack, two matched folders that each carry a manifest.json file with a unique ID, then loading both into a test world before packaging the result to share. Nothing here needs prior coding experience for the smallest add-ons. This is the Bedrock Edition path only. Java Edition mods use a completely different format and a Java mod file never runs on Bedrock, no matter what it is renamed to.

What a behavior pack and a resource pack actually do

An add-on is really two separate packs working together. A behavior pack changes how Minecraft acts: it holds entity files, loot tables, spawn rules, recipes, and any custom items or blocks. A resource pack changes how Minecraft looks and sounds: textures, models, sounds, and UI art. A simple add-on can ship with only a behavior pack, but the moment you want a custom texture or model attached to a custom item or mob, you need both packs, linked through a dependency entry in each manifest.json so Minecraft loads them together.

Where your add-on files live

Minecraft Bedrock Edition stores everything under a folder named com.mojang, created automatically when the game installs. On Windows, open the Run dialog with Win+R and paste this path exactly:

Inside com.mojang, two folders matter while you are building an add-on: development_behavior_packs and development_resource_packs. Minecraft rereads both every time it launches, so a pack you drop in there loads and reloads without any export step. The plain behavior_packs and resource_packs folders next to them hold finished, already-imported packs, not the ones you are actively editing.

The smallest working add-on: manifest.json

Every pack needs a manifest.json at its root, or Minecraft cannot identify it. Create a folder inside development_resource_packs, for example My_RESOURCE_Pack, and add a manifest.json with a header section (the pack's name, description, a unique UUID, and a version) and a modules section (a second UUID, a version, and a type of resources for a resource pack or data for a behavior pack). The current tutorial format on Microsoft's own creator docs uses format_version 2 for this manifest shape. Generate each UUID from a UUID generator; the header and the module each need their own, never the same one, or Minecraft rejects the pack.

  • header.uuid identifies the whole pack; it must be different from every other pack's header UUID.
  • modules[].uuid identifies that one module inside the pack; it must differ from the header UUID too.
  • header.min_engine_version sets the lowest Minecraft version that can load the pack.
  • A behavior pack's manifest also needs a dependencies entry naming the resource pack's UUID and version, so the two load as one add-on.

Changing one thing: a texture or a mob behavior

Pick one small change for your first add-on rather than a whole new mob from scratch. A resource pack can override a single vanilla texture, such as the dirt block, by recreating that texture's exact internal path inside a textures folder and saving a same-sized PNG over it. A behavior pack can change an existing entity's behavior, such as making a cow target and attack the player, by adding components to that entity's behavior file. Both changes only need the one manifest.json plus the one file you are editing, which is why they are the standard first project in Microsoft's own tutorials.

Testing your add-on in a world

With your pack sitting in development_resource_packs or development_behavior_packs, launch Minecraft, select Play, and create a new world. Under the world's settings, open the Resource Packs or Behavior Packs section, find your pack under My Packs, and activate it before creating the world. Some newer capabilities, particularly anything built on the Script API, only work once you turn on the relevant experimental toggle for that world; a plain texture swap or a component change to an existing entity does not need any experiment enabled.

Packaging and sharing your add-on

Once your packs work in a test world, package them for other players. A single pack, zipped, becomes a .mcpack file. When a behavior pack and a resource pack ship together as one add-on, they are zipped a second time into a .mcaddon file, a zip that itself contains the .mcpack files. Renaming a .zip to .mcpack or .mcaddon after zipping is the usual way to produce these, since Windows hides the .zip extension by default until file name extensions are turned on. Anyone who opens the finished .mcaddon in Minecraft gets both packs imported at once, ready to activate in a world exactly the way you tested them.

Tools that make add-on development easier

You can write every file above in a plain text editor, but a handful of free tools remove most of the tedium. Visual Studio Code, Microsoft's own free code editor, adds JSON validation and Minecraft-specific extensions once installed. Blockbench (blockbench.net) is a free, open source low-poly model editor for building custom entity and item models that fit Minecraft's own art style. bridge. (bridge-core.app) is a free, purpose-built IDE for Bedrock add-ons that understands manifest.json, entity files, and the rest of the pack structure without extra setup. Microsoft's own Minecraft Creator Tools, at mctools.dev, scaffolds a new project's folders and manifests for you and can package a finished pack into a .mcaddon or .mcpack directly in the browser.

Phone and tablet players sometimes reach for an app-store add-on maker instead of a desktop workflow. These apps can produce a working .mcaddon without any manifest editing, but treat any app outside the official Google Play or App Store listing with the same caution you would give any other unverified download, and check what permissions it asks for before installing.

Frequently asked questions

What is a Minecraft Bedrock add-on?

A Bedrock add-on is a behavior pack, a resource pack, or both, packaged together with a manifest.json that gives Minecraft a unique ID, name, and version for each pack. Behavior packs change how the game acts, resource packs change how it looks and sounds, and the two link together through a dependency entry when a custom item or mob needs both.

Do Java Edition mods work on Bedrock?

No. Java Edition mods are built against Java's own modding APIs, such as Fabric or Forge, and Bedrock Edition has no equivalent loader for them. A Java mod file cannot be imported into Bedrock. Bedrock's equivalent is an add-on, built from a manifest.json, behavior files, and resource files in an entirely different format.

Where do I put my add-on files to test them?

Put a resource pack in development_resource_packs and a behavior pack in development_behavior_packs, both inside com.mojang. On Windows, the default location is %appdata%\Minecraft Bedrock\users\shared\games\com.mojang. Minecraft reloads these development folders every time it launches, so changes you save show up the next time you open the game.

Can I make a Bedrock add-on without coding?

Yes, for the basics. A texture swap or a change to an existing entity's behavior only needs JSON files, not a programming language, and tools like Minecraft Creator Tools or bridge. can generate the folder structure for you. Scripted behavior built on the Script API does need JavaScript or TypeScript, but that is a later step, not a requirement for a first add-on.

What tools do I need to make a Bedrock add-on?

At minimum, a text editor that handles JSON well, such as the free Visual Studio Code. Blockbench covers custom models and textures, and bridge. or Minecraft Creator Tools (mctools.dev) both scaffold and package add-on projects without hand-building every folder. None of these require payment.

Resources mentioned.

Related guides and articles.