> For the complete documentation index, see [llms.txt](https://ordwenplugins.gitbook.io/odailyquests/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ordwenplugins.gitbook.io/odailyquests/quests/available-types/item-types.md).

# Item types

For this type of quest you must specify an item, with the line :\
`required: <type>`\
\
It is not mandatory to specify an item. Simply remove this line from your quest to take into account all items involved in the quest type. For example, a `BREAK` quest will include all broken blocks if none are specified.\
\
All types of items are listed on [**this page**](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html). By activating the tooltips in-game (F3+H), you can also see the item IDs directly. In some cases, however, the IDs shown in-game may differ from those used by the server.

Here are some additional parameters to use for quests that require an item.

## Summary

1. [Multiple requirements](#multiple-requirements)
2. [Potions ](#potions)
3. [Custom name/lore](#custom-name-lore)
4. [NBT tags](#nbt-tags)
5. [Custom model data](#custom-model-data)
6. [Custom head texture](#custom-head-texture)
7. [Oraxen, ItemsAdder, Nexo, MMOItems](#oraxen-itemsadder-nexo-mmoitems)

## Multiple requirements

It is possible to assign multiple items/entities to a same quest. Thus, all items/entities in the list will count towards the quest's progress. However, it is not possible to specify a required number for each attribute in the list.

To add multiple items/entities to a quest, the syntax is as follows:

```yaml
required:
  - COAL_ORE
  - GOLD_ORE
  - ...
```

## Potions

For quests that require a potion, you can specify the type and whether it should be upgraded or expanded. To do this, you can add a `potion` section to your quest setup, like this:

{% code title="Example" %}

```
1:
  name: "&aSpeeeed..."
  menu_item: POTION
  description:
    - "&eGet a speed potion level 1."
    - "&eWin &b5 EXP levels&e."
  quest_type: PICKUP
  required: POTION
  potion:
    type: SPEED
    upgraded: false
    extended: false
  required_amount: 1
  reward:
    reward_type: EXP_LEVELS
    amount: 5
2:
  name: "&cSpeeeed... But extended."
  menu_item: POTION
  description:
    - "&eGet a speed potion level 2."
    - "&eWin &b5 EXP levels&e."
  quest_type: GET
  required:
    - POTION
    - SPLASH_POTION
    - LINGERING_POTION
  potion:
    type: SPEED
    upgraded: false
    extended: true
  required_amount: 1
  reward:
    reward_type: EXP_LEVELS
    amount: 5
```

{% endcode %}

Please note that a potion cannot be both extended and upgraded.&#x20;

{% hint style="info" %}
Since version 1.20 of Minecraft, the `upgraded` and `extended` parameters are no longer necessary, as potions with these statuses each have their own material.
{% endhint %}

For a list of potion types, you can visit [this link](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/PotionType.html).

## Custom name/lore

You can specify a custom item with a specific name/lore.&#x20;

You must specify in **`required`** the type **`CUSTOM_ITEM`**. \
Then, below, you must specify the name of the item and its description.

<pre><code><strong>...
</strong><strong>required: CUSTOM_ITEM 
</strong>custom_item: 
  type: COBBLESTONE 
  name: "&#x26;c&#x26;lThe Saint Cobblestone" 
  lore: 
<strong>    - "&#x26;cWoaaaaaaaw..."
</strong><strong>...
</strong></code></pre>

## NBT tags

It's currently not possible to require an NBT tag. Otherwise, if your quest require items that can have differents NBT tags, such as fish seals, which store the life of the fish and a unique ID in an NBT tag, you can add the option `ignore_nbt: true` in your quest configuration.

This means that when you attempt to complete the quest, only the type of item will be checked and not the NBT tags. For example:

```yaml
    quest_type: GET
    required: TROPICAL_FISH_BUCKET
    ignore_nbt: true
    required_amount: 1
```

## Custom model data

You can specify for the required items a custom model data. You need to add `custommodeldata:` before the type of the item, and then add the corresponding number just after, as the following example:

```yaml
required: "custommodeldata:paper:1234"
```

## Custom head texture

You can also use custom head textures, from [this website](https://minecraft-heads.com/).

You just need to add a `customhead:` field in the `required` section. The value to put here is the `Minecraft-URL` at the bottom of the head page. Be sure to use the `Minecraft-URL` and **NOT** the `Value` that is just before:

```yaml
// from https://minecraft-heads.com/custom-heads/decoration/60568-coin
required: "customhead:ebda5f31937b2ff755271d97f01be84d52a407b36ca77451856162ac6cfbb34f"
```

## Oraxen, ItemsAdder, Nexo, MMOItems

You can specify for the required items an item from Oraxen, ItemsAdder, Nexo or MMOItems. It's really simple, you just need to add `oraxen:`, `itemsadder:`, `nexo:` or `mmoitems:` before the name of the item.

For **Oraxen**, you need to set `use_oraxen` to `true` in the configuration file.

For **ItemsAdder**, you need to specify the namespace before the name of the item, like the example below. You also need to set `use_itemsadder` to `true` in the configuration file.

For **Nexo**, you need to set `use_nexo` to `true` in the configuration file.

For **MMOItems**, you need to specify the category and the id of the item.

```yaml
required: "oraxen:my_item"
required: "itemsadder:namespace:my_item"
required: "nexo:my_item"
required: "mmoitems:category:id"
```
