# Recipe Item Types

##### Item

For regular items it will look something like this:

```JSON
 "raw:item": "minecraft:iron_ingot"
```

##### Items with NBT

You only need the `"match_nbt": true`if you are using this in an input slot. For output slots, the provided nbt will be added to the item regardless.

```JSON
"raw:item": "envirocore:fe_input", "nbt": "{tier:2,energy:{capacity:8192}}", "match_nbt": true
```

##### Item Tags

This would be the same syntax for both input slots and output slots.

```JSON
"raw:item_tag": "forge:ingots/iron"
```

For tags you can use various selectors to refine which items you want to target. Below is a list of possible selectors and what they do:

- all: All items that are in the tag.
- all\_whitelisted: All items from the provided namespaces in the given tag.
- all\_with\_blacklist: All items from the tag as long as they don't belong to the blacklisted namespaces.
- first: First item value from the tag.
- first\_whitelisted: First item from the tag that matches one of the provided namespaces.
- first\_preferred: First tries to match an item from the provided namespaces but will take the first item in the tag if none match.
- first\_with\_blacklist: First item that does not match any of the blacklisted namespaces.

The following is an example of how to use these selectors with and item\_tag:

```JSON
{
	"raw:item_tag": "minecraft:flowers",
    "selector": {
		"type": "all_with_blacklist",
      	"values": ["botania"]
	}
}
```