Behavior pack
The behavior pack system is a data-driven framework used to define behaviors, characteristics, and logic of various things in the game world. It serves as the foundational layer for many aspects of the game, dictating entity behaviors,[1] loot tables,[2] spawn rules,[3] item behaviors,[4] item recipes,[5] biome characteristics,[6] world generation, and much more. These definitions are written in JSON files, which are organized in multiple folders by their features. This system allows users to override and modify certain features in the base game, or add unique features with their own behavior pack. Behavior packs are often used in conjunction with resource packs as part of an add-on, which enable them to use custom resources, such as models, animations, textures, sounds, and more.
Behavior pack provides a component-based system that makes up most entities in the game by describing their unique properties and behaviors — like health, collision box, movement, mob behaviors, and physics — through multiple components.[7] These components are hard coded in the game, but are commonly shared among entities, and can be used extensively to create or modify existing entities in a behavior pack. A similar feature in Java Edition would be entity attributes, but are very limited in terms of features compared to components. The component-based system is also used to define custom items, blocks, and biomes.[8][9][6]
Usage
.png)
Similar to resource packs, behavior packs can be created and imported in Bedrock Edition. Users can download external behavior packs with the .mcpack file extension, if the game's platform allows file import feature. When these files are opened, they are automatically imported into the behavior_packs folder in com.mojang without accessing the file system. Behavior packs can also be placed manually in the development_behavior_packs folder. Each behavior pack must either be a sub-folder or a .zip file.
One or more behavior packs can be applied to a world from the Create New World and Edit World screens. These behavior packs will be imported into the world files, and are kept when exporting the world. Players joining a multiplayer world with behavior packs get an option to download only the required assets from the behavior pack, or all assets. The game loads behavior packs based on the order of the packs on the list. The bottom-most pack loads first, then each pack placed above are loaded sequentially.
Custom behavior packs permanently disable achievement unlocking for the world. Custom behavior packs cannot be applied to worlds on Realms, but worlds uploaded to Realms or Bedrock Dedicated Server keep the behavior packs applied to the world.
In Bedrock Dedicated Server, behavior packs also can be stored outside of worlds. Packs need to be enabled in the world_behavior_packs.json file in a world file.
Behavior packs cannot be edited while the game is active, except for the packs in the development_behavior_packs folder. They will update themselves when joining a world or changing active behavior packs.
Settings
Behavior packs and resource packs can contain custom settings that affect features in the pack.[10] Settings need to be specified in manifest.json, with the options to create an on/off toggle, or a slider with specific values. The settings menu for custom and Marketplace behavior packs can be opened with a button next to the pack button in the edit world screen, and all settings affect the whole world. Custom labels for each setting can be applied, which support text formatting.
How each setting affects the behavior pack can be modified with scripting.
The settings menu can also be used to change the memory tier, which affects the sub-packs being used.[11] The memory tier can be set to any specified value from the device's memory tier and lower. Sub-packs are behavior packs within the root of the behavior pack, with the same directory structure. They can be added to the pack in manifest.json.
Marketplace behavior packs
Add-ons and worlds from the Marketplace often contain or consist entirely of a behavior pack. These packs are stored internally and can't be accessed from com.mojang. Players can only access Marketplace behavior packs or play on worlds with behavior packs applied when they own the pack, by purchasing it in the Marketplace or by owning the Marketplace Pass. Which packs a player owns is stored in the online player profile, so behavior packs can only be accessed when signed in. Marketplace packs can be applied the same way as custom resource packs, and also to Realms, but not to worlds in external servers.
When a player joins a multiplayer world or Realm with Marketplace packs, the player is offered to download these packs to apply them, even when the player does not own the pack.
Marketplace behavior packs update automatically depending on the "Auto Update Unlocked Packs" settings, or can be updated manually from the purchase screen.
Contents
Directory structure
name or
name.zip
manifest.json
pack_icon.png: The picture to display next to the behavior pack in-game.
sub-pack: A behavior pack with the same directory structure inside the behavior pack. Multiple sub-packs can be used, and need to be specified in
manifest.json.
animation_controllers
entity
entity_animation_controller.json
entity_controller.json
animations
entity_animations.json[a]
blocks
block.json
cameras
presets
identifier.json
entities
entity
entity_animation_controller.json
entity.json
features
feature.json
feature_rules
feature_rules.json
dialogue
scene_dialogue
scene.json
manifest.json
functions
entity
entity_function.mcfunction
tick.json
item_catalog
crafting_item_catalog.json
items
item.json
loot_tables
entities
entity.json
recipes
entity_recipe.json
spawn_rules
entity_spawn_rules.json
structures
structure.mcstructure
texts
languages.json
en_US.lang
languagecode_COUNTRYCODE.lang
trading
villager_trades.json
- ↑ File may be inside a directory.
Internal behavior packs
Most entities, biomes, loot tables, and various things from the base game are defined by the vanilla behavior pack, which is built inside the game itself and can be found at game directory\data\behavior_packs. Mojang Studios releases the Bedrock Add-On Sample Files with every new update of Bedrock Edition, which provide the latest vanilla behavior and resource packs from the game.
Multiple internal behavior packs exist for different situations. Each experiment has its own behavior pack, in addition to Minecraft Education features and Minecraft Preview. Each behavior pack contains the same structure and assets as custom behavior packs, defined for the whole game. Some packs also have an icon or description, which is not visible in-game.
Bedrock Editon supports backward compatibility for add-ons and old worlds. This is done for the vanilla and chemistry behavior packs since 1.14 and 1.20.50 respectively, with the regular behavior pack supporting the latest version before. Each update with changes to features defined in behavior packs has its own behavior pack, with all the features that changed. Some Marketplace add-ons can lock a world in an older version by disabling internal behavior packs from higher versions.
| File name | Pack icon, name, and description | Description |
|---|---|---|
| chemistry | Resources for the "Minecraft Education features" cheat setting. Includes several features from the Chemistry Update in Minecraft Education. Multiple versions of this pack are available to support backwards-compatibility. | |
| editor | Resources for Bedrock Editor, applied when the Editor is enabled upon launch. Contains five unique entities exclusive to the Editor, some textures for the GUI, and the main script file which can be customized. | |
| experimental_creator_cameras | Experimental Creator Cameras | Contains a camera preset for the "Experimental Creator Cameras" experiment. |
| experimental_jigsaw_structures | This pack was used before 1.21.120 for the "Data-Driven Jigsaw Structures" experiment, containing the trail ruins jigsaw structures. It only exists in Minecraft Preview now and all folders are empty. | |
| experimental_villager_trade | Villager Trade Rebalancing | Contains trade tables for the Villager Trade Rebalancing experiment, as well as different loot tables for mineshafts, ancient cities, desert pyramids, jungle pyramids, and pillager outposts. |
| server_editor_library | Library for building server driven Editor UI |
Contains scripts for the Editor when used on Bedrock Dedicated Server. |
| server_library | A BP containing all the @minecraft/server typescript code. |
Contains typescript code for the Editor. Only available in Minecraft Preview. |
| server_ui_library | A BP containing all the @minecraft/server-ui typescript code. |
Contains scripts for the UI in the Editor. Only available in Minecraft Preview. |
| vanilla | All resources for the default Minecraft game. Multiple versions of this pack are available to support backwards-compatibility. |
Videos
Tutorials from the official Minecraft Creator Channel
History
Add-on was hinted at in a post by Searge on August 12, 2016, stating "There will be news about the API at Minecon."[12] The next day it was confirmed by Grum to be a modding API for Bedrock Edition (formerly called Pocket Edition, or MCPE),[13] and at MINECON 2016, the plan and roadmap for the development of add-ons were outlined.
Extra loading tips that appear when a world has add-ons applied have been added since Bedrock Edition Preview 1.20.70.21. By Bedrock Edition Preview 1.21.0.23, eight more of them were introduced which replaced the one from 1.20.70.21.
Previously, standalone add-ons from the Marketplace were not available, and needed to be packaged with a world to be sold on the Marketplace. However, as of February 2024, individual add-ons can now be sold separately on the Marketplace.[14]
See also
External links
Official documentation
- Addons JSON Documentation
- Animation JSON Documentation
- Biome Documentation
- Block JSON Documentation
- Entity JSON Documentation
- Features JSON Documentation
- Item JSON Documentation
- Molang Documentation
- Recipe JSON Documentation
- Schema Documentation
Official tutorials
Tools and libraries
Unofficial resources
Templates
References
- ↑ "Entity Behavior Introduction" – Microsoft Learn, September 19, 2023.
- ↑ "Introduction to Loot Tables" – Microsoft Learn, March 6, 2025.
- ↑ "Data-Driven Spawn Rules" – Microsoft Learn, November 8, 2023.
- ↑ "Custom Items" – Microsoft Learn, September 18, 2024.
- ↑ "Recipe Introduction" – Microsoft Learn, April 19, 2024.
- ↑ a b "Biome JSON and Overview" – Microsoft Learn, April 10, 2025.
- ↑ "Intro to Entities BP" (§ Components) – Bedrock Wiki, June 8, 2025.
- ↑ "Item Documentation - Item Components" – Microsoft Learn, October 10, 2024.
- ↑ "Block Documentation - Block Components" – Microsoft Learn, November 22, 2024.
- ↑ "Creating a Pack with Custom Settings" – Microsoft Learn, August 1, 2025.
- ↑ "Building Sub-Packs" – Microsoft Learn, August 28, 2025.
- ↑ "There will be news about the API at Minecon. I'll talk about the things I'm working on and what our plans are. But no more details for now." – @SeargeDP (Michael Stoyke) on X (formerly Twitter), August 12, 2016
- ↑ "the MCPE on, would be nice to say that too." – @_grum (Erik Broes) on X (formerly Twitter), August 13, 2016
- ↑ "Introducing add-ons" by Linn Viberg – Minecraft.net, February 20, 2024.
| Editions |
| ||||||
|---|---|---|---|---|---|---|---|
| Development |
| ||||||
| Technical |
| ||||||
| Multiplayer | |||||||
| Exclusive features |
| ||||||
| Removed | |||||||
| |||||||||||||||||||||||
| |||||||||||||||||||||||