MCTOOLBOX
MC ToolboxMC TOOLBOX

Java datapack and resource pack

Custom Mob Variant Builder

Build data-driven mob skins with correct registry JSON, spawn rules, adult and baby textures, then download ready-to-install packs.

1. Choose a mob

2. Variant ID

Spawn condition

Biome

A condition-free entry with priority 0 acts as the fallback when no higher-priority rule matches.

Adult texture PNGs

PNG files stay in your browser and are written directly into the resource pack.

Baby texture PNGs

Resource-pack texture paths

Use these exact PNG paths. The filenames must match the asset IDs in the generated JSON.

assets/mypack/textures/entity/wolf/wolf_galaxy.png

assets/mypack/textures/entity/wolf/wolf_galaxy_tame.png

assets/mypack/textures/entity/wolf/wolf_galaxy_angry.png

assets/mypack/textures/entity/wolf/wolf_galaxy_baby.png

assets/mypack/textures/entity/wolf/wolf_galaxy_tame_baby.png

assets/mypack/textures/entity/wolf/wolf_galaxy_angry_baby.png

Pack preview

My Mob Variants

Live variant JSON

{
  "assets": {
    "angry": "mypack:entity/wolf/wolf_galaxy_angry",
    "tame": "mypack:entity/wolf/wolf_galaxy_tame",
    "wild": "mypack:entity/wolf/wolf_galaxy"
  },
  "spawn_conditions": [
    {
      "condition": {
        "type": "minecraft:biome",
        "biomes": "minecraft:plains"
      },
      "priority": 1
    }
  ]
}

Variants in this pack (0)

Add at least one variant to build the pack.

The bundle contains two installable ZIP files plus a README.

How custom mob variants work

Java Edition stores each visual variant in a data-driven registry. The datapack entry decides which texture asset and model Minecraft should use, while the matching PNG lives in a resource pack. Both packs must be enabled for the custom appearance to render.

Wolf definitions are special: they require wild, tame and angry assets instead of one asset_id. From 26.1 onward, cats, cows, pigs, chickens and wolves can also point to dedicated baby textures. The builder changes the JSON and file list automatically when you switch versions.

Spawn rules are evaluated by priority. Use biome or structure IDs with the minecraft: namespace, tags beginning with #, or a moon-brightness range. Add a priority-0 fallback if you want the custom variant to remain selectable outside the specific rule.

How to build and install a custom mob variant

  1. Choose the exact Minecraft version first. This controls the generated data-pack and resource-pack formats and hides mobs or biomes that do not exist in older releases.
  2. Pick a mob, enter a lowercase namespace and unique variant ID, then choose its model when that registry supports temperature-based forms.
  3. Add one or more spawn conditions. Use specific rules with higher priorities and add a condition-free priority-0 fallback when the variant should remain available elsewhere.
  4. Upload every required PNG, add the variant to the pack and repeat for any additional mobs. The texture-path panel shows the exact filenames written into the resource pack.
  5. Download the bundle, place the datapack ZIP in world/datapacks, enable the resource-pack ZIP, run /reload and test the mob in a location matching its spawn rule.

Mob variant JSON shapes

Each registry uses a slightly different JSON shape. The builder chooses the correct asset fields and model keys for the selected mob and Minecraft version.

MobRequired texture assetsModel keyBaby assets
Wolfassets {wild, tame, angry}NoYes (26.1+)
Catsingle asset_idNoYes (26.1+)
Cowsingle asset_idnormal / cold / warmYes (26.1+)
Pigsingle asset_idnormal / cold / warmYes (26.1+)
Chickensingle asset_idnormal / cold / warmYes (26.1+)
Frogsingle asset_idNoNo
Zombie Nautilussingle asset_idnormal / warmNo

model The model key applies to temperature-based farm animals and Zombie Nautilus variants. Wolf is the special case because one variant references separate wild, tamed and angry textures.

Spawn conditions and priority

Biome and biome tags

Choose one biome for a precise rule or a biome tag when the same variant should appear across a group of related biomes.

minecraft:forest | #minecraft:is_forest

Structure conditions

Restrict a variant to a structure or structure tag. This is useful for themed mobs around villages, monuments, trial chambers and other generated locations.

#minecraft:cats_spawn_as_black

Priority and fallback behavior

Minecraft evaluates matching entries by priority. Give specific rules a higher number and keep one condition-free entry at priority 0 as the fallback.

priority: 1 | fallback: 0

Custom mob variant FAQ

Does this work on Bedrock Edition?

No. These registry folders and JSON formats are for Java Edition datapacks and resource packs.

Why are Wolf variants different?

A wolf changes texture when wild, tamed or angry, so its registry entry uses three adult assets and, in 26.1+, three baby assets.

Do I need both generated ZIP files?

Yes. The datapack registers the variant and spawn conditions; the resource pack supplies the PNG textures referenced by the JSON.

Can I add several variants?

Yes. Add multiple entries, including variants for different mobs, then download one bundle containing both complete packs.

Which Minecraft versions support custom mob variants?

Java Edition 1.21.5 introduced data-driven variants for the original supported mobs. Later releases added baby assets and Zombie Nautilus. Choose the target version so the generated pack formats and available options stay compatible.

Why does my mob show a purple-and-black texture?

Minecraft found the variant JSON but could not load the referenced texture. Check the PNG dimensions, filename, namespace and the exact assets/<namespace>/textures/entity path shown by the builder.

How does priority choose a variant?

Minecraft gathers the variants whose conditions match and selects from the highest-priority entries. A condition-free entry at priority 0 is the safe fallback when no biome or structure rule matches.