Every add-on maker breaks a pack sometimes. The good news is that Minecraft tells you what went wrong, if you know where to look. This page shows you how to find errors and fix the most common ones.
Step 1: turn on the content log
The content log is Minecraft's list of problems it found while loading your packs. Turn it on once and keep it on while you build.
- Open Minecraft and go to Settings.
- Open the Creator section.
- Turn on Enable Content Log GUI.
- Turn on Enable Content Log File if you also want the errors saved to a file.
Now when you load a world with a broken pack, errors pop up on screen. You can open the full list at any time from the pause menu, or with Ctrl + H on a keyboard.
How to read an error
A content log line usually looks like this:
[Item][error]-demo:ruby | items/ruby.json | minecraft:item | components | minecraft:max_stack_size | ...Read it left to right:
[Item]: which system complained (Item, Blocks, Entity, Json, Texture...).[error]or[warning]: errors usually break something, warnings might not.- The path: the file, then the exact spot inside it. This tells you where to look.
Tip
Fix the first error first. One mistake, like a missing bracket, can cause a long list of errors after it. Fixing the first often clears the rest.
The pack does not show up at all
If your pack is not in the list in world settings, Minecraft could not read its manifest.
- Broken JSON in
manifest.json. Check for missing commas, extra commas and wrong quotes. See JSON in 5 minutes. - Manifest in the wrong place. It must sit directly in the pack folder, like
development_behavior_packs/MyPack/manifest.json. One folder too deep and the pack is invisible. - Wrong module type. A behavior pack uses
"type": "data", a resource pack uses"type": "resources". A BP in the resource pack folder (or the other way around) will not show. - Import failed. If a
.mcpackshows "Import failed", the manifest is probably inside a subfolder in the ZIP. Zip the contents of the pack folder, not the folder. See Export and play.
Duplicate UUIDs
Every pack header and every module needs its own UUID. Problems happen when:
- you copied a manifest from a tutorial or another pack and kept its UUIDs
- you copied your own BP manifest to make the RP and forgot to change them
- an old copy of the same pack is still installed
Symptoms include a pack that refuses to import, the wrong pack loading, or your changes never appearing. The fix: generate four fresh UUIDs and check that the BP's dependencies entry points to the RP's new header UUID. Then delete the old copies of the pack from behavior_packs and resource_packs.
Changes do not appear
You edited a file but nothing changed in game.
- Was the file saved? Turn on Auto Save in your editor.
- Are you editing the right copy? If you imported the pack as a
.mcpack, the game uses the imported copy inbehavior_packs, not your project folder. Work in the development folders instead. - Did you raise the version? When you import an updated
.mcpack, raise theversionin the manifest header, or Minecraft may keep the old one. - Did you reload? Leave the world and open it again. For stubborn cases, close Minecraft fully.
The pack is on, but nothing works
- Only one pack is active. Open the world settings and make sure both the behavior pack and the resource pack are under Active. Adding a dependency from the BP to the RP makes this automatic.
- Experiment needed. If the feature you used is experimental, its toggle must be on in the world's Experiments settings.
- Wrong format_version. If a file says
"format_version": "1.10"but uses newer components, the game reads it with old rules and ignores or rejects what it does not know. Use a current version, like"1.26.30"for items, and match the examples on this wiki.
Item not in the creative menu
Your item exists, but you cannot find it in the creative inventory.
No menu category
Without menu_category, the category defaults to none, which hides the item from the creative menu. Add it to the item's description:
"description": {
"identifier": "demo:ruby",
"menu_category": {
"category": "items"
}
}The categories you can show an item in are construction, equipment, items and nature.
Other causes
- The file failed to load. Check the content log for errors with your item's name.
- Try the command. Type
/give @s demo:ruby. If it says the item does not exist, the behavior pack is not loading the file. If you get the item, only the menu setting is wrong.
Also look at the item components reference to check every component name is spelled right.
Missing or broken textures
Black and purple squares
A purple and black checkered texture means Minecraft could not find the image it was told to use.
- Wrong path. Texture paths are written without
.pngand start from the pack root, liketextures/items/ruby. Check every letter. - Wrong case. Some platforms, like Android, treat
Ruby.pngandruby.pngas different files. Use lowercase everywhere. - Wrong format. Save as real PNG. A JPG renamed to
.pngwill not load. - RP not active. If the resource pack is off, every custom texture is missing.
Items with no icon
If your item shows up invisible or with a missing icon:
- Check that
minecraft:iconin the BP uses a short name, like"ruby". - Check that the same short name is registered in
RP/textures/item_texture.json. - Check that the path in that file points to your PNG.
{
"resource_pack_name": "my_first_addon",
"texture_name": "atlas.items",
"texture_data": {
"ruby": {
"textures": "textures/items/ruby"
}
}
}Strange item names
If the item is called something like item.demo:ruby.name instead of "Ruby", the language file is missing that line. Add it to RP/texts/en_US.lang:
item.demo:ruby.name=RubyA quick checklist
When something breaks and you do not know why, go through this list in order:
- Content log on? Read the first error.
- All JSON valid?
- Manifests in the right place, with unique UUIDs?
- Both packs active in the world?
- Identifiers spelled the same everywhere, all lowercase?
- Texture paths correct, without
.png? - World reloaded, or Minecraft restarted?
Avoiding errors in the first place
Most of these problems come from typing things by hand: a comma here, a mismatched UUID there, a texture path with one wrong letter. GodCraft writes all of these files for you, so the manifests, UUIDs, texture paths and language lines always match. If you keep getting stuck, try building the same thing in the GodCraft Workshop and compare.