> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nmentities.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Aging & Growth

> Let a mob grow into another one after a while, in real time.

A mob with an `aging:` block turns into another mob once it has been alive long enough.

```yaml theme={null}
piglet:
  base: pig
  aging: { grows-into: hog, after: 20m }

hog:
  base: pig
  model: hog
  health: 30
  aging: { grows-into: warhog, after: 1h }

warhog:
  base: pig
  model: warhog
  health: 80
```

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

| Key          | Required | What it does                                                                                    |
| :----------- | :------- | :---------------------------------------------------------------------------------------------- |
| `grows-into` | ✅        | The id of the next stage. Must be a mob declared in `Mobs/`.                                    |
| `after`      | ✅        | How long it stays at this stage. `30s`, `20m`, `1.5h`, `400t` — anywhere a duration is written. |

## 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.

| Carried   | How                                                                                                                             |
| :-------- | :------------------------------------------------------------------------------------------------------------------------------ |
| Health    | As a **fraction**. A hog at half health becomes a warhog at half of its own, larger maximum.                                    |
| Worn gear | On top of whatever the new stage's own [`equipment`](mob-equipment) block sets — it fills the slots the new stage leaves alone. |

## Eggs hatch the first stage

A spawn egg from the [Entities menu](gui) 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>`](spawn) 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`](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](gui) as **Grows into** and **Grow time**.
* `after` must be longer than zero.
* Ageing is independent of [levels](mob-levels): a stage that grows keeps whatever level it was spawned at.
