# Other plugin types

## Summary

1. [PLACEHOLDER](#placeholder)
2. [PYRO\_FISH](#pyro_fish)
3. [EMF\_FISH](#emf_fish)
4. [MYTHIC\_MOBS & ELITE\_MOBS](#mythic_mobs-and-elite_mobs)
5. [CRATE\_OPEN](#crate_open)

## PLACEHOLDER

* Supported plugins: PlaceholderAPI

Since the 2.1.0, you can create quests that requires a placeholder to be a specific value.\
This functionnality is only compatible with PlaceholderAPI at the moment.&#x20;

On a placeholder quest, you need to specify a placeholder, an operator, an expected value and an error message. You can also use placeholders in `value` and `expected` parameters.

### Operators

There is currently the following operators:

<table><thead><tr><th width="273">Operator</th><th width="372.3333333333333">Description</th><th>Type</th></tr></thead><tbody><tr><td>EQUALS</td><td>The value of the parsed placeholder must be equal to the required value.</td><td>TEXT</td></tr><tr><td>NOT_EQUALS</td><td>The value of the parsed placeholder must be different of the required value.</td><td>TEXT</td></tr><tr><td>CONTAINS</td><td>The parsed placeholder must contain the required value.</td><td>TEXT</td></tr><tr><td>NOT_CONTAINS</td><td>The parsed placeholder must not contain the required value.</td><td>TEXT</td></tr><tr><td>STARTS_WITH</td><td>The parsed placeholder must begin with the required value.</td><td>TEXT</td></tr><tr><td>ENDS_WITH</td><td>The parsed placeholder must end with the required value.</td><td>TEXT</td></tr><tr><td>GREATER_THAN</td><td>The value of the parsed placeholder must be greater than the required value.</td><td>NUMBER</td></tr><tr><td>GREATER_THAN_OR_EQUALS</td><td>The value of the parsed placeholder can be greater or equal to the required value.</td><td>NUMBER</td></tr><tr><td>LESS_THAN</td><td>The value of the parsed placeholder must be lower than the required value.</td><td>NUMBER</td></tr><tr><td>LESS_THAN_OR_EQUALS</td><td>The value of the parsed placeholder can be lower or equal to the required value.</td><td>NUMBER</td></tr></tbody></table>

Here is some examples:

```yaml
1:
  name: "Be rich"
  menu_item: PAPER
  description:
    - "&cGet more than 1,000,000$."
    - "&aWin &b50 000 &a$."
  quest_type: PLACEHOLDER
  placeholder:
    value: "%vault_eco_balance%"
    operator: GREATER_THAN
    expected: 1000000
    error_message: "&cYou need more than 1,000,000$ to complete this quest."
  reward:
    reward_type: MONEY
    amount: 50000
    
2:
  name: "Be a VIP"
  menu_item: GOLD_INGOT
  description:
    - "&6Become a VIP and..."
    - "&6show it to the world."
  quest_type: PLACEHOLDER
  placeholder:
    value: "%luckperms_in_group_vip%"
    operator: EQUALS
    expected: "true"
    error_message: "&cYou are not a VIP!"
  reward:
    reward_type: COMMAND
    commands:
      - "bc &6%player% &bis now a VIP!"
```

#### Compare durations

In addition, you can compare durations returned by placeholders using the following types :

<table><thead><tr><th width="490">Operator</th><th>Format</th></tr></thead><tbody><tr><td>DURATION_GREATER_THAN</td><td>hh:mm:ss:SSS</td></tr><tr><td>DURATION_GREATER_THAN_OR_EQUALS</td><td>hh:mm:ss:SSS</td></tr><tr><td>DURATION_LESS_THAN</td><td>hh:mm:ss:SSS</td></tr><tr><td>DURATION_LESS_THAN_OR_EQUALS</td><td>hh:mm:ss:SSS</td></tr></tbody></table>

`hh` are hours, `mm` are minutes, `ss` are seconds and `SSS` are milliseconds.

Here is an example :

<pre class="language-yaml"><code class="lang-yaml">1:
  name: "Be fast"
  menu_item: PAPER
  description:
    - "&#x26;cComplete the parkour in under 25 seconds."
    - "&#x26;aWin &#x26;b50 000 &#x26;a$."
  quest_type: PLACEHOLDER
  placeholder:
    value: "%parkour_player_best_time%"
<strong>    operator: DURATION_LESS_THAN_OR_EQUALS
</strong>    expected: "00:00:25:000"
    error_message: "&#x26;cYou are too slow! You must be under 25 seconds."
  reward:
    reward_type: MONEY
    amount: 50000
</code></pre>

## PYRO\_FISH

* Supported plugins: PyroFishingPro

{% hint style="warning" %}
To use this type of quest, you must install the [associated addon](https://github.com/Ordwen/ODQ-PyroFishingPro/releases).
{% endhint %}

In this quest, you can specify the tier and number of the fish &#x20;

```yaml
1:
  name: "Get some custom fishes"
  menu_item: COD
  description:
    - "&6Win &b5000 &6$."
  quest_type: PYRO_FISH
  required:
    - "bronze:1"
    - "silver:51"
  required_amount: 1
  reward:
    reward_type: MONEY
    amount: 5000
```

It's not case-sensitive.\
If you don't put `required` section it will progress regardless the fish caught.

## EMF\_FISH

* Supported plugin: EvenMoreFish

In this quest, you must specify the name of the fish, without color codes.  &#x20;

```yaml
1:
  name: "Get some custom fishes 2"
  menu_item: COD
  description:
    - "&6Win &b5000 &6$."
  quest_type: EMF_FISH
  required:
    - "Grass Carp"
    - "Rockfish"
  required_amount: 1
  reward:
    reward_type: MONEY
    amount: 5000
```

It's not case-sensitive.\
If you don't put `required` section it will progress regardless the fish caught.

## MYTHIC\_MOBS & ELITE\_MOBS

* Supported plugins: obvious, I hope!

For these types, you must specify the name of the entity to be killed in the quest information with `entity_name`. There is no need to specify the type of entity.

### MythicMobs specificities

For <mark style="color:$danger;">**MythicMobs**</mark>, you must put in `entity_name` the **internal name** of the mob.\
For example, if you have a custom mob like that in your file :

```
SkeletonKing:
  Type: WITHER_SKELETON
  Display: '&6Skeleton King'
  Health: 50
  Damage: 10
```

Your quest will look like this :

<pre><code>1:
  name: ...
<strong>  menu_item: ...
</strong>  description: ...
  quest_type: MYTHIC_MOBS
  entity_name: "SkeletonKing"
  required_amount: 1
  reward:
  ...
</code></pre>

With **MythicMobs** again and only, there is the `shared_mobs` option. \
With this option, all players involved in the mob's death will see their quests progress if they have it.

```
1:
  name: ...
  menu_item: ...
  description: ...
  quest_type: MYTHIC_MOBS
  entity_name: "SkeletonKing"
  shared_mobs: true
  required_amount: 1
  reward:
  ...
```

### EliteMobs specificities

For <mark style="color:$danger;">**EliteMobs**</mark>, you should NOT put the boss level in the entity name. \
For example, if your boss file looks like this: \
\&#xNAN;*`name: $normalLevel &cThe Big Boss`*\
You need to put only *`&cThe Big Boss`* in your quest config.

```
1:
  name: ...
  menu_item: ...
  description: ...
  quest_type: ELITE_MOBS
  entity_name: "&cThe Big Boss"
  shared_mobs: true
  required_amount: 1
  reward:
  ...
```

### Multiple entities

For both MYTHIC\_MOBS and ELITE\_MOBS, you can also specify several entity names:

```
entity_name: 
  - "&cThe Big Boss"
  - "&eLittle Pig"
```

## CRATE\_OPEN

* Supported plugins: ExcellentCrates

For this type of query, simply enter the name displayed for the crate as defined in your configuration. \
For example, if your crate is configured like this:

<pre class="language-yaml"><code class="lang-yaml"><strong># ExcellentCrates/crates/vote.yml
</strong><strong>Name: '&#x26;b&#x26;lVote Crate'
</strong>Description: []
</code></pre>

Your quest will look like this:

```yaml
1:
  ...
  quest_type: CRATE_OPEN
  required: "&b&lVote Crate" # don't forget color codes!
  required_amount: 1
  ...
```

You can also specify several crates:

```yaml
1:
  ...
  quest_type: CRATE_OPEN
  required: 
    - "&7&lMini-VIP Crate"
    - "&6&lVIP Crate"
    - "&b&lVIP+ Crate"
  required_amount: 1
  ...
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ordwenplugins.gitbook.io/odailyquests/quests/available-types/other-plugin-types.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
