How to Install Add-ons on a Minecraft Bedrock Server
Add behavior packs and resource packs to your Minecraft Bedrock server by uploading them and registering them in the world's pack JSON files.
Bedrock Add-ons vs Java Plugins/Mods
Bedrock add-ons are completely different from Java plugins or mods. There's no equivalent of Paper plugins here — Bedrock uses a pack system:
- Behavior packs — Change game logic: mob behavior, items, crafting recipes, game rules
- Resource packs — Change visuals and sounds: textures, models, UI, sounds
Both types need to be installed on the server and registered with your world before they take effect.
Step 1: Get Your Add-on Files
Add-ons come as .mcpack or .mcaddon files (which are just renamed zips). You can find Bedrock add-ons on:
- MCPEDL
- CurseForge Bedrock
- The creator's own site
An .mcaddon file typically contains both a behavior pack and resource pack bundled together.
Step 2: Extract the Pack
Before uploading, rename the file extension to .zip and extract it. Inside you'll find one or two folders:
- A behavior pack folder (contains
manifest.jsonwith"type": "data") - A resource pack folder (contains
manifest.jsonwith"type": "resources")
Each pack has a manifest.json — you'll need the uuid and version values from it shortly.
Step 3: Upload to Your Server
In the WISP file manager, navigate to your server root. Upload:
- Behavior pack folder →
behavior_packs/directory - Resource pack folder →
resource_packs/directory
If these directories don't exist yet, create them.
Your file structure should look like:
behavior_packs/
└── MyAddonBehavior/
├── manifest.json
└── (other pack files)
resource_packs/
└── MyAddonResource/
├── manifest.json
└── (other pack files)
Step 4: Register the Pack With Your World
Packs don't load automatically — you need to register them with your world.
Navigate to worlds/[your-world-name]/ in the file manager. You need to edit (or create) two JSON files here.
world_behavior_packs.json
[
{
"pack_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"version": [1, 0, 0]
}
]
Replace the pack_id value with the uuid from your behavior pack's manifest.json. Replace version with the version array from the same manifest.
world_resource_packs.json
[
{
"pack_id": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
"version": [1, 0, 0]
}
]
Same thing — use the uuid and version from your resource pack's manifest.json.
If either file already exists, add your new entry to the array alongside any existing ones.
Step 5: Restart the Server
Stop and start your server. Players connecting will now have the packs applied. Resource packs may prompt players to accept them on join (this is normal Bedrock behavior).
Troubleshooting
Pack not loading: Double-check that the pack_id in the world JSON exactly matches the uuid in manifest.json — they're case-sensitive GUIDs.
Version mismatch: The version array in world_behavior_packs.json must exactly match the version array in manifest.json (e.g., [1, 0, 0] not "1.0.0").
Players not seeing resource pack: Make sure texturepack-required is set to true in server.properties if you want to force the pack on all players.