Skip to content

Making Palettes

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

Making Palettes

A trim's colour comes from a palette: a tiny 8x1 pixel image, 8 colours in a row, brightest on the left to darkest on the right. Minecraft maps the trim's greyscale pattern through this palette, so those 8 colours are your trim.

An animated trim is just several of these palettes, one per frame.

How the mapping works

Vanilla ships a reference greyscale palette (8 shades from light to dark). Your palette must line up with it: pixel 1 is your lightest colour, pixel 8 is your darkest, matching the grey ramp position for position.

The reference file was renamed in 26.3:

Version Reference palette File
1.21.1, 26.2 minecraft:trims/color_palettes/trim_palette .../textures/trims/color_palettes/trim_palette.png
26.3 minecraft:trim_base assets/minecraft/textures/palettes/trim_base.png
reference (grey):            light .. .. dark
your palette (raw_copper):   light copper .. dark copper

You never edit the reference; the game uses it automatically. Your palette just has to be the same width (8 pixels) with colours in the same light to dark order.

Requirements

  • Size: exactly 8x1 pixels.
  • Format: PNG. RGB or RGBA both work.
  • Order: lightest to darkest, left to right.
  • One file per frame, for example raw_copper.png, raw_copper_1.png, raw_copper_2.png, raw_copper_3.png.

Put them in the version's palette folder:

Version Palette folder
1.21.1, 26.2 assets/<namespace>/textures/trims/color_palettes/
26.3 assets/<namespace>/textures/palettes/trim/

26.3 note: palettes moved out of textures/trims/color_palettes/. A trim_material with "palette_id": "<ns>:trim/raw_copper" reads assets/<ns>/textures/palettes/trim/raw_copper.png.

Building a ramp

Pick a base colour, then make 8 shades from a bright tint to a dark shade. A quick approach:

  1. Choose your mid colour (for example copper #B86A3C).
  2. Lighten it a few steps for pixels 1 to 3 (add white, raise brightness).
  3. Darken it for pixels 5 to 8 (toward near-black).

Example raw-copper ramp (light to dark):

#FFE0C0  #F0B084  #D98A50  #B86A3C  #8F4E2A  #6A381C  #472412  #2A150A

Animating: making the frames

Each frame is the same ramp, shifted a little, so cycling through them reads as motion. Common styles:

  • Glow or pulse: brighten the light end on some frames, dim it on others (a "breathing" glow).
  • Hue shift: nudge the colours toward a neighbouring hue and back (for example copper to warmer orange, or blue to green like prismarine).
  • Scroll: shift the whole ramp one shade each frame.

You need at least 2 frames (base plus 1) to see motion; 4 to 8 gives a smooth loop. More frames means smoother, but more files.

Tip: Frame 0 (raw_copper.png) should be a "neutral" version of the look. It is what shows if the mod is not installed, and the animation returns to it each loop.

Naming recap

The palette file name and the trim_animations frame entry must match. On 1.21.1 and 26.2 the atlas permutation key must match too; on 26.3 there is no worn-armor atlas, so only the file and the animation matter.

1.21.1 / 26.2 26.3
palette file textures/trims/color_palettes/raw_copper_1.png textures/palettes/trim/raw_copper_1.png
atlas key "raw_copper_1": "example:trims/color_palettes/raw_copper_1" (no worn-armor atlas)
animation frame "raw_copper_1" "raw_copper_1"

And frame 0's name must equal the material's base name: the asset_name (1.21.1/26.2) or the last segment of palette_id (26.3), which is raw_copper.

Clone this wiki locally