> For the complete documentation index, see [llms.txt](https://frinn.gitbook.io/custom-machinery-1.19/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://frinn.gitbook.io/custom-machinery-1.19/misc/requirement-display-info.md).

# Requirement display info

Customize the display info of any requirement

A requirement display info is a small icon that show up in jei recipe jei to provide the player various information about the recipe.

The display info can use any item, texture or sprite and have a list of tooltips that will be displayed when the player hover it with its mouse cursor.

Example : The [Structure requirement](/custom-machinery-1.19/recipes/requirements/structure.md) add by default a structure block icon with a tooltip indicating the list of required blocks to build the structure.

![](https://2254391542-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F40ngT44k0ZSkP7lvRktf%2Fuploads%2FHwrwyGKy9sIWVC3U0Kd4%2Fimage.png?alt=media\&token=7c4f7e5b-5f4a-4a58-bce4-b5e52bdae9af)

You can override the default display info of any requirements, or create a new one for requirements that doesn't have a default one.

A custom display info won't override the click behavior of a default display info, like the structure requirement that let you click on the icon to show the structure.

{% hint style="warning" %}
Each requirements can have only 1 display info.
{% endhint %}

### Tooltip

A display info can have a list of tooltips specified. If the requirement have a default tooltip it will be overriden.

The tooltip is essentially a list of [Text components](/custom-machinery-1.19/misc/text-component.md). Each component in the list will be a new line in the tooltip.

```json
"info": {
    "tooltips": [
        "Some tooltips",
        {"text": "Some tooltip in red", "color": "red"}
    ]
}
```

### Icon

There are 3 ways to define a display info icon : item, texture and sprite (animated texture).

If you don't specify an icon this default green + icon will be used.

![](https://2254391542-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F40ngT44k0ZSkP7lvRktf%2Fuploads%2FdLRB2d23V0pyDYfxbHRY%2Fimage.png?alt=media\&token=992c94e4-74b3-4e34-bee2-2d280e9bbcd0)

#### Item

Simply provide the id of the item to show as icon.

Example : Show a diamond as icon

```json
"info": {
    "item": "minecraft:diamond"
}
```

#### Texture

Simply provide the path to the texture file, the texture MUST be in a loaded resourcepack (Openloader or KubeJS work well for that) and the .png extension is necessary.

You can also specify the width/height of the texture (default 10px) and the u/v of the texture (default 0).

Example :&#x20;

```json
"info": {
    "icon": "custommachinery:textures/gui/creation/create_icon.png"
}
```

#### Sprite

A sprite is essentialy a texture that is stitched into a Minecraft texture atlas, allowing the use of animated textures.

Simply specify the id of the atlas and the id of the texture.

Example : Use the purple nether portal block

```json
"info": {
    "atlas": "minecraft:textures/atlas/blocks.png",
    "sprite": "minecraft:block/nether_portal"
}
```

### Example

Add a diamond icon with a tooltip :&#x20;

```json
{
    //other requirement properties
    "info": {
        "item": "minecraft:diamond",
        "tooltips": ["This recipe make diamonds"]
    }
}
```

![](https://2254391542-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F40ngT44k0ZSkP7lvRktf%2Fuploads%2Fp7ox4iRSpYacBioszYTC%2Fimage.png?alt=media\&token=e0ed5d15-42aa-4feb-a1b7-6547e947b2d6)
