> 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/customfishing.md).

# CustomFishing

When [CustomFishing](https://polymart.org/resource/customfishing.2723) is installed, three fishing triggers become available. Detection is automatic.

| Trigger                           | Counts when the player...                | Progress          |
| --------------------------------- | ---------------------------------------- | ----------------- |
| `customfishing_fish`              | successfully catches CustomFishing loot  | amount caught     |
| `customfishing_market_sell`       | sells in the CustomFishing market        | money earned      |
| `customfishing_participate_event` | is in a fishing competition when it ends | 1 per competition |

### `customfishing_fish` <a href="#customfishing_fish" id="customfishing_fish"></a>

Counts successful catches only — failed minigames don't progress the objective. The `target` is a CustomFishing **loot ID** from your loot configs, or `any`:

```yaml
objectives:
  rare_catch:
    name: "&#7CF6FF&lLegend of the Lake"
    description:
      - "&#C7D0D9Catch the golden koi that"
      - "&#C7D0D9lives in the crater lake."
    trigger: customfishing_fish
    target: golden_koi
    required: 1
```

Use `any` together with a higher `required` for volume quests — progress counts the caught amount, so multi-catches count fully.

### `customfishing_market_sell` <a href="#customfishing_market_sell" id="customfishing_market_sell"></a>

Progress is the total sale price, so `required` is a money amount. The `target` must be `any`:

```yaml
objectives:
  fish_merchant:
    name: "&#FFD86E&lFish Merchant"
    trigger: customfishing_market_sell
    target: any
    required: 2500
```

This only tracks the CustomFishing market — selling fish through other shops counts toward [ShopGUIPlus](file:///C:/Users/KomPhone/IdeaProjects/mc-Quests/docs/integrations/shopguiplus.md) triggers instead.

### `customfishing_participate_event` <a href="#customfishing_participate_event" id="customfishing_participate_event"></a>

Evaluated when a fishing competition **ends**. The `target` decides what counts:

* `any` — the player took part in the competition.
* `first` (or any other value) — the player finished **first**.

```yaml
objectives:
  competitor:
    name: "&#8DFFB3&lFriendly Rivalry"
    trigger: customfishing_participate_event
    target: any
    required: 3

  champion:
    name: "&#FFD86E&lTournament Champion"
    trigger: customfishing_participate_event
    target: first
    required: 1
```

{% hint style="info" %}
Competition quests work best with a longer `active-expire` (or none at all) — players can only progress them when a competition actually runs.
{% endhint %}
