> For the complete documentation index, see [llms.txt](https://edseries-plugins.gitbook.io/p/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://edseries-plugins.gitbook.io/p/edminions/features/minions.md).

# Creating Minions

One file per minion in `plugins/EdMinions/minions/` — the filename is the minion id. Create as many as you want; every value below is configurable per minion.

```yaml
settings:
  name: '&#A5D6A7Zombie'   # display name used everywhere
  withdrawable: true       # can it be withdrawn back into an item?
```

## Display — three render backends

```yaml
display:
  entity: ZOMBIE          # vanilla entity backend (any EntityType)
  model: none             # EdLib/BDEngine model from plugins/EdMinions/models/<id>/
  model-engine: none      # ModelEngine blueprint id (takes precedence over model)
  mythic-mob: none        # reuse the MEG model a MythicMobs mob attaches
  name: '&#A5D6A7Zombie &7[&f{owner}&7]'
  name-visible: true
  name-height: 2.1        # floating name height (scales with the minion)
  scale: 0.5              # minions are small by default (1.20.5+ scale attribute)
  copy-held-item: true    # mirror your pickaxe / omnitool / sword in its hand
  held-item: none         # fallback item when there is nothing to mirror
  glowing: false
```

1. **Vanilla entity** — any `EntityType`, scaled with the 1.20.5+ scale attribute (on 1.20.4 servers, `scale` below 1 falls back to the baby flag for mobs that support it, e.g. zombies — the grow-in animation needs 1.20.5+). The minion's floating name is the entity's own display name. Supports held-item mirroring (custom model data included) and real swing animations.
2. **EdLib model** (`model`) — BDEngine-style display-entity models from `plugins/EdMinions/models/<id>/model.yml` (+ `animations/`).
3. **ModelEngine** (`model-engine` / `mythic-mob`) — a per-player packet-only MEG model.

## Animations

```yaml
animations:
  # Model minions (ModelEngine / EdLib models): named animations.
  idle: none              # looped from spawn
  spawn: none             # played when the minion appears
  despawn: none           # played when it disappears
  action: none            # played on every block break / mob hit

  # Vanilla entity minions: scale-attribute animations.
  spawn-scale:
    enabled: true         # grow in from start-scale to scale
    duration-ticks: 20
    start-scale: 0.05
  despawn-scale:
    enabled: true         # shrink out before despawning
    duration-ticks: 10
  swing-on-action: true   # swing the main hand on every action
```

Vanilla minions **grow in** when they spawn (scale steps up smoothly each tick) and shrink out on despawn — entering your mine or a zone plays it every time.

## Behavior

```yaml
behavior:
  action-interval-ticks: 30 # base ticks between actions (speed upgrade lowers it)
  move-speed: 0.25          # blocks per tick (speed upgrade raises it)
  search-radius: 5.0        # target search radius around the minion
  contexts: []              # empty = all: pinnaprison, edtools, eddungeons
  eddungeons:
    damage-percent: 25      # minion damage as % of your sword damage
```

`contexts` limits where a minion works — e.g. `contexts: [pinnaprison]` makes a mining-only minion.

## Item

The `item` section is the tradeable minion item (given by `/minions give`, produced by withdrawing). It supports `material` (including `texture-<base64>` heads), `name`, `lore`, `glow`, `custom-model-data` and these placeholders: `{owner}`, `{blocks}`, `{food-time}`, `{food-max}`, `{<upgrade>-level}`, `{<upgrade>-max}`, `{minion}`, `{status}`.
