Skip to content

Troubleshooting

Nihal "Ent" M edited this page Sep 21, 2026 · 3 revisions

Troubleshooting

Most problems come down to a name mismatch: the palette file name and the trim_animations frame entry must use the exact same names, and frame 0 must equal the material's base name (asset_name, or on 26.3 the last segment of palette_id).

Version paths. Palettes live in textures/trims/color_palettes/ on 1.21.1 and 26.2, and in textures/palettes/trim/ on 26.3. The worn-armor armor_trims.json atlas exists on 1.21.1 and 26.2 but was removed in 26.3 (worn armor is built on the fly). The material field is asset_name on 1.21.1/26.2 and palette_id on 26.3. See Creating an Animated Trim for the per-version files.


The trim does not animate (shows a static colour)

The material works but never moves.

  • The mod is not installed or not on this client. The animation is played by Ent's Armor Trim Expanded. Without it, the material renders as a normal static trim. Everyone who should see the animation needs the mod.
  • Wrong trim_animations path. It must be assets/<namespace>/trim_animations/<material>.json, matching the material id. example:raw_copper becomes assets/example/trim_animations/raw_copper.json.
  • Frame names do not match the palette files. Every name in frames must exist as a palette file (textures/trims/color_palettes/<name>.png on 1.21.1/26.2, textures/palettes/trim/<name>.png on 26.3), and on 1.21.1/26.2 as a permutation key in armor_trims.json. A typo means that frame silently falls back to frame 0.
  • You did not reload. Press F3+T after editing resources.

The trim is white or uncoloured on worn armor

The trim shape shows but has no colour (looks white or grey).

  • Palette in the wrong folder. On 26.3 palettes must be at assets/<ns>/textures/palettes/trim/<name>.png; the old textures/trims/color_palettes/ path is not read any more. On 1.21.1/26.2 they must be at textures/trims/color_palettes/. Using the wrong folder for your version means no colour.
  • palette_id does not point at the palette (26.3). "palette_id": "<ns>:trim/raw_copper" reads assets/<ns>/textures/palettes/trim/raw_copper.png. If the path or namespace differs, the game cannot find the colours and falls back to grey. (On 1.21.1/26.2 the equivalent mistake is a wrong asset_name or atlas permutation value.)
  • Palette is not 8 pixels wide. It must be the same width as the reference greyscale palette (trim_base on 26.3, trim_palette on 1.21.1/26.2), which is 8 pixels. A different width produces no colour mapping. See Making Palettes.

Console error: Failed to load palette image ...

[PalettedPermutations]: Failed to load palette image example:trim/raw_copper_1

An atlas asked for a palette that does not exist. On 1.21.1/26.2 this is the worn-armor armor_trims.json; on 26.3 worn armor has no atlas, so it can only come from the optional inventory-icon items.json. Almost always a name mismatch:

  • The permutation value points at a file that is named differently (for example raw_copper1.png or raw_copper_f1.png). Make the file name match the permutation value exactly.
  • The palette is in the wrong folder for your version (textures/trims/color_palettes/ on 1.21.1/26.2, textures/palettes/trim/ on 26.3).
  • The namespace in the permutation value (example:...) does not match the folder (assets/example/...).

If a Failed to load palette image minecraft:trims/color_palettes/trim_palette shows up on 26.3, it is an outdated pack: its atlas still uses the old 26.2 palette_key. Update or remove it. If you are not shipping an inventory icon on 26.3, you can remove your items.json entirely; worn armor does not need it.


The trim is magenta, black, or broken squares

  • Palette is not 8x1. It must be exactly 8 pixels wide, 1 tall. See Making Palettes.
  • Missing frame. One of the frames names has no palette file. Add it, or remove it from the list.

Cannot apply it in the smithing table (but /give works)

This is the most common issue with a new material, and it almost always means the provider file is missing.

  • No trim_providers file. The #trim_materials tag only lets the item sit in the material slot; it does not say which material to apply. You must also add data/<ns>/entate/trim_providers/<name>.json:
    { "item": "minecraft:raw_copper", "material": "example:raw_copper" }
    Without it the recipe produces no result even though /give still works. See Creating an Animated Trim, section 1.4.
  • item or material typo. The item must be a real item id (and be in the tag), and material must exactly match your trim_material id. Check the log for references unknown item or references unknown trim material.
  • Ingredient not tagged. The item must also be in data/minecraft/tags/item/trim_materials.json.
  • You wiped the vanilla tag. If you wrote "replace": true, only your item is a trim material now. Use "replace": false.
  • Data pack not loaded. /reload, and make sure the data pack is enabled (/datapack list).

Tooltip shows trim_material.example.raw_copper instead of a name

The lang entry is missing or misnamed. Add to assets/<ns>/lang/en_us.json:

{ "trim_material.example.raw_copper": "Raw Copper Material" }

The key must exactly match the translate value in your material JSON.


The item icon has no texture (missing-texture squares)

This affects the 2D inventory icon only (worn armor is fine).

  • On NeoForge: trim overlays on item icons are not shown in the current 26.3 beta (NeoForge's own trimmed-armor item model does not render the overlay yet). This is a NeoForge limitation, not a pack problem.
  • A broken material in a loaded pack. If any loaded trim material's icon sprite fails to build, it can break the whole armor item model. Update or remove outdated packs (for example a 26.2-format pack whose items.json still points at trims/color_palettes/trim_palette).

Interpolation looks like a faint double-image or shimmer

Interpolation draws the trim twice while blending. If you see z-fighting:

  • Try "interpolate": false to confirm that is the cause.
  • Slower frametime and more frames reduce how much blending is visible.
  • If it persists, report it; the render order can be tuned mod-side.

Nothing shows up at all

  • Both packs enabled? Data pack in datapacks/ and resource pack in resourcepacks/ (enabled in Options).
  • pack.mcmeta present in each, with a pack_format valid for your Minecraft version (1.21.1: data 48, resources 34; 26.2: data 107, resources 88; 26.3: data 121, resources 97).
  • Reload both: /reload (data) and F3+T (resources).
  • Test directly, bypassing smithing:
    /give @s minecraft:iron_chestplate[minecraft:trim={pattern:"minecraft:coast",material:"example:raw_copper"}]
    

Still stuck? Compare against the example pack; diffing your files against a known-good one usually finds it fast.