Skip to main content
A mob with an aging: block turns into another mob once it has been alive long enough.
Each stage names only what it becomes. The reverse — who grows into me — is derived, so a chain has exactly one source of truth and adding a stage is one line on the stage below it. A mob with no aging block is a final stage; a mob nothing grows into is a first stage.

Fields

Real time, not tick time

The deadline is stamped on the entity, so growth survives a restart and a chunk sleeping for an hour. A piglet left in an unloaded chunk over lunch is a hog when you come back. That is the behaviour worth having for a chain: the alternative is a farm that only advances while somebody is standing next to it. Nothing polls — each mob schedules exactly one task for its own deadline, and a mob whose deadline has already passed when its chunk loads grows on the spot.

What carries over

Growth is a replace, not a mutation: the stages are different mobs with different models, so the old entity is removed and the new one spawned through the normal pipeline — which means the new stage’s +onSpawn effects run.

Eggs hatch the first stage

A spawn egg from the Entities menu hatches the first stage of a chain, so a warhog egg gives you a piglet and the chain plays out from the start. /nme spawn <mob> still places the exact stage you named, which is what you want when testing the last one.

Broken chains

A chain that cannot work is reported and dropped, not fatal — a mob whose grows-into is a typo is still a perfectly good mob, so it loads without its aging block. /nme debug names the file and the reason. The cases caught are:
  • grows-into naming a mob that does not exist
  • a mob that grows into itself
  • a loop somewhere in the chain
  • after missing, or not a duration

Notes

  • Both fields are editable from the in-game editor as Grows into and Grow time.
  • after must be longer than zero.
  • Ageing is independent of levels: a stage that grows keeps whatever level it was spawned at.