Variants
Variants allow you to customize the appearance and spawn conditions of various entities and paintings in Minecraft. Kore provides type-safe DSL builders for creating custom variants for cats, cows, chickens, frogs, pigs, wolves, zombie nautiluses, paintings and decorated pot patterns.
Entity Variants
Spawn Conditions
Most entity variants support spawn conditions that control when and where the variant appears. Available condition types:
- add(priority): Base condition with just a priority
- biome(priority, biomes...): Spawn in specific biomes or biome tags
- moonBrightness(priority, value): Spawn based on moon brightness (single value)
- moonBrightness(priority, min, max): Spawn based on moon brightness (range)
- structures(priority, structures...): Spawn near specific structures or structure tags
Higher priority values take precedence when multiple conditions match.
Cat Variants
Cat variants define the texture and spawn conditions for cats. You can specify biomes, moon brightness, and structures as spawn conditions.
The game requires a kitten texture too. babyAssetId defaults to the adult texture suffixed with _baby, the vanilla naming, so only pass it when your kitten texture is named differently. Cow, chicken and pig variants work the same way.
Produces JSON:
Cow Variants
Cow variants define the texture, model, and spawn conditions for cows.
Produces JSON:
Chicken Variants
Chicken variants define the texture, model, and spawn conditions for chickens.
Produces JSON:
Frog Variants
Frog variants define the texture and spawn conditions for frogs.
Produces JSON:
Pig Variants
Pig variants define the texture, model, and spawn conditions for pigs.
Produces JSON:
Wolf Variants
Wolf variants define separate textures for angry, tame, and wild states, for adults and puppies, along with spawn conditions. The puppy textures are required by the game and default to the vanilla ones.
Produces JSON:
Zombie Nautilus Variants
Zombie nautilus variants define the texture, model, and spawn conditions for zombie nautiluses.
Produces JSON:
Sound Variants
Cat Sound Variants
Cat sound variants define custom sounds for cats. Sounds are split into adultSounds and babySounds, both required by the game. When babySounds is left unset, Kore writes adultSounds in its place.
Produces JSON:
Chicken Sound Variants
Chicken sound variants define custom sounds for chickens. Sounds are split into adultSounds and babySounds, both required by the game. When babySounds is left unset, Kore writes adultSounds in its place.
Produces JSON:
Cow Sound Variants
Cow sound variants define custom sounds for cows. Unlike other sound variants, cows use a flat structure without age-group nesting.
Produces JSON:
Pig Sound Variants
Pig sound variants define custom sounds for pigs. Sounds are split into adultSounds and babySounds, both required by the game. When babySounds is left unset, Kore writes adultSounds in its place.
Produces JSON:
Wolf Sound Variants
Wolf sound variants define custom sounds for wolves. Sound variants are independent of color variants and spawning biome. Wolves make the sounds associated with their variant when they bark, pant, whine, growl, step, die, or get hurt.
Sounds are split into adultSounds and babySounds, both required by the game. When babySounds is left unset, Kore writes adultSounds in its place.
Produces JSON:
With separate baby sounds:
Produces JSON:
Other Variants
Painting Variants
Painting variants define custom paintings with dimensions and optional metadata like author and title.
Produces JSON:
With default dimensions (1x1):
Produces JSON:
With author and title:
Produces JSON:
Decorated Pot Patterns
A decorated pot pattern is the texture a pottery sherd shows on a face of a decorated pot, read from textures/entity/decorated_pot/<path>.png. An item shows it through its providesPotteryPattern component:
Produces JSON:
The vanilla textures are typed, like Textures.Entity.DecoratedPot.ANGLER_POTTERY_PATTERN.
See Also
- Chat Components - For painting title and author text formatting
- Tags - Use variant tags for spawn conditions
