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

# Agricultural Harvest Action

> Harvest crops in an area with auto-replant.

# Agricultural Harvest Action

**Type:** `agricultural_harvest_action`

Optimized action for harvesting crops in an area-of-effect, replanting immediately, and merging item drops.

## Configuration

| Field         | Type                          | Default | Description                                                   |
| :------------ | :---------------------------- | :------ | :------------------------------------------------------------ |
| `id`          | String                        | ""      | Unique identifier for this entry                              |
| `name`        | String                        | ""      | Name for this entry                                           |
| `criteria`    | `List<Criteria>`              | \[]     | Criteria that must be met for execution                       |
| `modifiers`   | `List<Modifier>`              | \[]     | Modifiers to apply to execution                               |
| `triggers`    | `List<Ref<TriggerableEntry>>` | \[]     | Triggers to execute upon completion                           |
| `radius`      | Int                           | 1       | Radius on the X and Z axis to harvest (e.g. 1 for a 3x3 area) |
| `autoReplant` | Boolean                       | `true`  | Should crops be automatically replanted (set age to 0)?       |

## Example

```json theme={null}
{
  "id": "harvest_t3",
  "name": "Advanced Harvesting",
  "radius": 2,
  "autoReplant": true
}
```

## Behavior

* Only harvests fully-grown crops (`Ageable` with `age == maximumAge`)
* Drops are merged by material type to reduce entity count
* When `autoReplant` is enabled, crops are immediately set to age 0 (no physics)
* Plays block break particles at the center of the harvested area
* Designed to be triggered via `EnchantmentEvent.BLOCK_BREAK`
