> For the complete documentation index, see [llms.txt](https://docs.mongenscave.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mongenscave.com/premium-products/quests/supported-plugins/excellentcrates.md).

# ExcellentCrates

When [ExcellentCrates](https://spigotmc.org/resources/excellentcrates.48732/) is installed, the `excellentcrates_crate_open` trigger becomes available. Detection is automatic.

| Trigger                      | Counts when the player... | Progress      |
| ---------------------------- | ------------------------- | ------------- |
| `excellentcrates_crate_open` | opens a crate             | 1 per opening |

The `target` is the crate's **ID** (the config/file name in ExcellentCrates, not the display name). Use `any` or `all` to count every crate:

```yaml
objectives:
  lucky_day:
    name: "&#FFD86E&lLucky Day"
    description:
      - "&#C7D0D9Open epic crates and test"
      - "&#C7D0D9your luck."
      - ""
      - "&#8A8F98Progress: &#FFFFFF{progress}&#8A8F98/&#FFFFFF{required}"
    trigger: excellentcrates_crate_open
    target: epic
    required: 3
```

Or, counting any crate:

```yaml
objectives:
  crate_hunter:
    name: "&#7CF6FF&lCrate Hunter"
    trigger: excellentcrates_crate_open
    target: any
    required: 10
```

A crate-open quest pairs nicely with a crate-key reward — a quest that opens crates and pays out a key for a better one gives players a reason to keep both systems running:

```yaml
rewards:
  - type: command
    display-name: "&#FFD86E1x Epic Key"
    value: crates key give %player% epic 1
```
