customadvancements logger, and names the file in question. The entries below cover the causes seen most often.
My custom advancement tab doesn't appear in the advancements screen
My custom advancement tab doesn't appear in the advancements screen
- The root advancement has no
background. This is the most common one and it is specific to Minecraft 1.18.2. A file with noparentfield must have abackgroundinside itsdisplayobject, or it fails validation and is skipped with an error in the log. Add one — a vanilla texture such asminecraft:textures/gui/advancements/backgrounds/adventure.pngworks without any extra files. See Backgrounds. - A missing
displayorcriteriaobject. Both are required at the top level of every advancement file. - Malformed JSON. A missing comma or brace stops that single file from loading; look in the log for a parse error naming the file. The rest of your advancements still load and the game does not crash.
- You haven’t reloaded. Files added while the world is already loaded need a
/ca reloador a restart before they are picked up.
The background shows a missing-texture checkerboard, or no background at all
The background shows a missing-texture checkerboard, or no background at all
- The resource location is wrong. A file at
customadvancements/data/textures/my_background.pngis referenced ascustomadvancements:textures/my_background.png. Both thetextures/segment and the.pngextension are part of the location — leaving either out is the usual mistake. - The file extension is not supported. See Textures for the full list the loader accepts. Anything else is skipped with a warning.
- The
backgroundis on a child advancement. Backgrounds only render on root advancements — those with noparentfield. On a child the field is simply ignored. - The player does not have the file. Custom Advancements 4.7.5 does not send textures over the network. Every client reads them from its own
customadvancements/data/textures/folder, so a player without the mod, or without the image, sees the vanilla default.
My background image is tiled or stretched instead of filling the tab properly
My background image is tiled or stretched instead of filling the tab properly
background texture is tiled across the panel in 16×16 pixel steps, exactly as vanilla renders its own backgrounds. That is correct for seamless tile patterns and wrong for a screenshot or piece of artwork.To draw the image once, filling the panel:- Set
"largeBackground": truein thedisplayblock. Without it, the next two fields do nothing. - Set
"shouldBgClip": trueto preserve the image’s proportions instead of stretching it. - Set
"bgRatio"to the image’s real width divided by its real height — for example1.7777for a 1920×1080 image.
shouldBgClip is missing; a wrongly cropped one means bgRatio does not match the file. See Backgrounds.Advancement titles show the raw translation key instead of readable text
Advancement titles show the raw translation key instead of readable text
customadvancements.advancements.my_root.title means Minecraft found no translation for that key in the active locale.- Check for a typo. The key in the advancement JSON must match the key in the language file character for character.
- Check the file name and location. Language files go in
customadvancements/data/lang/and are named with a Minecraft locale code, such asen_us.json. Only.jsonfiles are read. - Ship an
en_us.json. English is Minecraft’s fallback locale, so a complete English file prevents raw keys from ever showing. - Check that the player has the files. Language files are not sent over the network in this version — each client reads them from its own
customadvancements/data/lang/folder. If a title looks right for you and raw for someone else, that is the cause.
Changes to the config file do nothing
Changes to the config file do nothing
/ca reload does not re-read config/customadvancements-common.toml. It reloads advancement JSON files, textures, and language files only.Edit the config while the game or server is stopped, then restart to apply it. This applies to every option: blacklists, progression settings, tab sorting, and the rest. See Config File.A blacklisted advancement (or its whole tab) still shows up
A blacklisted advancement (or its whole tab) still shows up
- Check the exact resource location. Entries in
advancementsBlacklistmust matchnamespace:pathexactly, including case. IDs are validated as resource locations when the config loads — but at that point the server is not running yet, so an ID that simply does not exist is accepted and then silently does nothing. Verify yours against/ca generate resource_locationsoutput. - Wildcards are not supported in this version.
"create:*"does not mean “every Create advancement” — it matches nothing. To remove a whole mod’s tree, blacklist that mod’s root advancement and let the cascade remove its children. - Removing a child does not remove its parent or siblings. The cascade runs downward only. To remove an entire tab, blacklist its root advancement.
- In whitelist mode, ancestors are kept automatically. If something unexpected survives with
blacklistIsWhitelist = true, it is most likely a required ancestor of an advancement you did list — parents are always preserved so the tree does not break. - Restart after editing. Blacklist changes are config changes, so they need a restart.
Progression gating isn't blocking anything, or is blocking too much
Progression gating isn't blocking anything, or is blocking too much
- Confirm
advancementProgression = trueis actually set inconfig/customadvancements-common.toml— the progression system is off by default — and that you restarted afterwards. - Check
advancementProgressionMode. UnderMINECRAFTorCUSTOM_ADVANCEMENTS, advancements outside that namespace are never gated, which looks like the system “isn’t working” if you happen to be testing with a mod advancement. - Under
MODSmode with an emptymodBlacklist, every namespace is gated — includingminecraft. If you expected vanilla advancements to stay ungated, add"minecraft"tomodBlacklist. - Root advancements have no parent to gate them, so they are always immediately earnable. Use
connectedAdvancementsListto give a root a virtual prerequisite from another tree. - Check the arrow spacing in
connectedAdvancementsList. Entries must be written"parent -> child"with a space on each side of the arrow;"parent->child"is parsed incorrectly and matches nothing. - Recipe advancements are never gated, in any mode.
- A gated advancement that cannot be earned yet shows no error to the player — the criteria are simply not granted. That is expected behavior, not a bug.
An advancement I overrode lost its rewards, criteria, or description
An advancement I overrode lost its rewards, criteria, or description
/ca generate advancement <id> to export the original, then edit the exported file in place, changing only what you mean to change. See Blacklist & Whitelist for the full override workflow.Generating an advancement fails with an already-exists message
Generating an advancement fails with an already-exists message
/ca generate advancement <id> refuses to export an advancement whose namespace is customadvancements, and reports The file for <id> already exist!. Those advancements come from your own customadvancements/customadvancements/ folder — the file already exists on disk and is yours to edit directly, so there is nothing to generate.If you meant to export a vanilla or mod advancement, double-check the ID you passed. See Commands.advancementSortingList doesn't change the tab order
advancementSortingList doesn't change the tab order
advancementSortingListonly has an effect whenadvancementTabSortingMode = "DEFINED_LIST". UnderUNSORTEDorALPHABETICALLYthe list is ignored entirely.- Entries must be the root advancement’s resource location — not a child advancement, and not the tab’s display name. Use
/ca generate resource_locationsand look for the IDs ending in/root, or check which of your files have no"parent"field. - Tab sorting is a config setting, so it needs a restart to apply —
/ca reloadwill not pick it up.
Everything disappeared after I ran /ca generate advancement all
Everything disappeared after I ran /ca generate advancement all
customadvancements/ folder, and every exported file then overrides the advancement it came from. If something looks wrong afterwards, an edited or partially deleted export is usually the cause.Delete the files you did not intend to keep. Anything removed from customadvancements/<namespace>/ reverts to the game’s own version on the next reload.A related case: if you also set disableStandardAdvancementLoad = true, any advancement in your folder whose parent is not present in the folder is dropped along with all of its children. Either export the missing parents too, or turn that option off. See Blacklist & Whitelist.