Skip to content

Components Reference

Fields under the components section are mapped directly to Minecraft entity attributes or data components by ComponentMapper.

Attribute fields

FieldTypeDescription
max_healthdoubleMaximum health points.
movement_speeddoubleMovement speed (vanilla default ~0.25).
attack_damagedoubleMelee attack damage.
attack_speeddoubleAttack speed.
attack_knockbackdoubleKnockback strength on hit.
follow_rangedoubleMaximum target tracking distance (blocks).
knockback_resistancedoubleKnockback resistance, 0.0–1.0.
armordoubleArmor value.
armor_toughnessdoubleArmor toughness.
luckdoubleLuck value.
flying_speeddoubleFlying speed (flying mobs only).
spawn_reinforcementsdoubleZombie reinforcement call chance, 0.0–1.0.
scaledoubleRender scale multiplier (1.0 = vanilla size).
step_heightdoubleBlock height the mob can step onto directly.
jump_strengthdoubleJump strength (rideable mobs such as horses).
safe_fall_distancedoubleFall distance that causes no damage.
fall_damage_multiplierdoubleFall damage multiplier.
burning_timedoubleBurn duration multiplier once ignited.
explosion_knockback_resistancedoubleExplosion knockback resistance.
oxygen_bonusdoubleUnderwater breathing bonus.
water_movement_efficiencydoubleMovement efficiency in water.
movement_efficiencydoubleMovement efficiency on ground.

NOTE

All of the above are vanilla entity attributes. An entry is ignored when the attribute does not exist on the target entity. Applying max_health also heals the mob up to the new maximum.

Appearance and behavior fields

FieldTypeDescription
custom_namestringEntity display name; supports MiniMessage format.
custom_name_visiblebooleanWhen true, name tag is always visible; when false, it only shows on hover.
persistentbooleanPrevent natural despawn when no players are nearby.
silentbooleanSuppress all mob sounds.
invulnerablebooleanImmune to all damage.
no_aibooleanDisable AI (mob stops moving and attacking).
glowingbooleanShow outline glow effect.
gravitybooleanWhether the mob is affected by gravity.
fire_ticksintInitial fire duration in ticks.
freeze_ticksintInitial freeze duration in ticks (powder snow effect).
absorptiondoubleInitial absorption amount (yellow hearts).
visual_firebooleanForce the burning visual effect without dealing fire damage.
collidablebooleanWhether the mob takes part in entity collision (pushing).
fire_immunebooleanWhether the mob is immune to fire damage.

Loot fields

FieldTypeDescription
loot_tablestringAssociated loot table key: <namespace>:entities/<mob_id>, matching loot_tables/<mob_id>.yml.
can_pick_up_lootbooleanWhether the mob can pick up items from the ground.
remove_when_farbooleanDespawn when players move away (overrides persistent).

Equipment fields

FieldTypeDescription
main_handItemConfigMain-hand item, top-level shorthand.
off_handItemConfigOff-hand item, top-level shorthand.
helmetItemConfigHead slot, top-level shorthand.
chestplateItemConfigChest slot, top-level shorthand.
leggingsItemConfigLegs slot, top-level shorthand.
bootsItemConfigFeet slot, top-level shorthand.
equipment.<slot>ItemConfigConfigure several slots under one equipment section.

Slot names under equipment accept these spellings (case-insensitive):

SlotAccepted keys
Main handmain_hand, hand
Off handoff_hand
Headhelmet, head
Chestchestplate, chest
Legsleggings, legs
Feetboots, feet

Each ItemConfig supports:

FieldDescription
itemItem ID. Vanilla material names only, as minecraft:<id> (e.g. minecraft:diamond_sword).
drop_chanceDrop probability on death, 0.0–1.0. 0.0 means never drops.
yaml
components:
  main_hand:
    item: "minecraft:iron_sword"
    drop_chance: 0.05
  helmet:
    item: "minecraft:iron_helmet"
    drop_chance: 0.0
  equipment:
    legs:
      item: "minecraft:iron_leggings"
      drop_chance: 0.0
    # A bare material name works when only the item matters
    feet: "minecraft:iron_boots"

Unknown component keys are ignored silently

Keys under components must match the tables on this page exactly. ComponentMapper looks up a handler by key name and skips the entry when none is found, with no error and no log line. A misspelled key (for example noai instead of no_ai) produces no warning.

Mob-specific fields

FieldApplies toDescription
is_babyAgeable mobsWhether the mob spawns as a baby.
creeper_poweredCreeperWhether the creeper is charged.
creeper_explosion_radiusCreeperExplosion radius.
angryWolfWhether the wolf is angered.
wolf_variantWolfWolf variant, from the minecraft:wolf_variant registry (e.g. pale, woods, ashen).
horse_colorHorseWHITE, CREAMY, CHESTNUT, BROWN, BLACK, GRAY, DARK_BROWN.
horse_styleHorseNONE, WHITE, WHITE_FIELD, WHITE_DOTS, BLACK_DOTS.
cat_typeCatCat variant, from the minecraft:cat_variant registry.
parrot_variantParrotRED, BLUE, GREEN, CYAN, GRAY.
frog_variantFrogFrog variant, from the minecraft:frog_variant registry.
axolotl_variantAxolotlLUCY, WILD, GOLD, CYAN, BLUE.
fox_typeFoxRED, SNOW.
rabbit_typeRabbitBROWN, WHITE, BLACK, BLACK_AND_WHITE, GOLD, SALT_AND_PEPPER, THE_KILLER_BUNNY.
mushroom_typeMooshroomRED, BROWN.
panda_main_genePandaNORMAL, LAZY, WORRIED, PLAYFUL, BROWN, WEAK, AGGRESSIVE.
panda_hidden_genePandaRecessive gene; same values as above.
goat_screamingGoatWhether this is a screaming goat.
llama_colorLlamaCREAMY, WHITE, BROWN, GRAY.
llama_strengthLlamaLlama strength (1–5, determines chest capacity).
slime_sizeSlime / Magma CubeSize (1 = small, 2 = medium, 4 = large).
phantom_sizePhantomPhantom size.
can_break_doorsZombie typesWhether the mob can break doors.
villager_typeVillager / Zombie VillagerBiome type, from the minecraft:villager_type registry.
villager_levelVillager / Zombie VillagerProfession level (1–5).
villager_professionVillager / Zombie VillagerProfession, from the minecraft:villager_profession registry.

An entry is skipped when the mob is not of the matching type, and an unrecognized enum or registry value is skipped as well.

Potion effect field

FieldTypeDescription
potion_effectstring or string listPotion effects applied on spawn. Use a single string for one effect or a list for several.

Each effect is one colon-separated string:

text
<effect type>:<duration ticks>[:<amplifier>]
SegmentRequiredDescription
Effect typeYesVanilla effect ID, case-insensitive (speed, regeneration, fire_resistance, …).
Duration ticksYesDuration in ticks.
AmplifierNoDefaults to 0 (level I); 1 is level II.
yaml
components:
  potion_effect:
    - "speed:99999:1"
    - "regeneration:600"
  # A single effect can be written as a plain string
  # potion_effect: "fire_resistance:1200"

The mapping form is not supported

potion_effect parses only the colon-separated string above. Writing - type: SPEED with duration: and amplifier: keys raises no error, but the whole effect is discarded. ambient, particles and icon are not configurable. An unknown effect type, a missing duration, or an unparsable number also skips the entry silently.