Item-tag result
The result uses the first current member of its item tag.
hbm:tag_result is a shapeless crafting recipe whose result is the first item currently in an item tag. An empty tag matches nothing.
Fields
| Field | Meaning and default | Range |
|---|---|---|
type | Selects the hbm:tag_result recipe format. | |
ingredients | 1–9 ingredients; each entry consumes one item from its assigned slot. | |
result | Selects an item from a tag. | |
categoryOptional | Recipe-book category: building, redstone, equipment, or misc; default misc. | |
groupOptional | Recipe-book group string; default empty. | |
show_notificationOptional | Shows the recipe-unlock notification; default true. |
Each slot is tested against its full ingredient, including custom-ingredient component requirements. Changed inputs follow changed component state.
The loader condition on this example is described under Recipe conditions.
Example
Source path: data/hbm/recipe/ingot_nickel_from_depleted_pellet.json
(Fabric)
{
"fabric:load_conditions": [
{
"type": "fabric:tags_populated",
"registry": "minecraft:item",
"values": [
"c:ingots/nickel"
]
}
],
"type": "hbm:tag_result",
"ingredients": [
{
"fabric:type": "hbm:recipe_input",
"base": "hbm:pellet_rtg_depleted_nickel",
"remainder": true
}
],
"result": {
"count": 2,
"tag": "c:ingots/nickel"
}
}(NeoForge)
{
"neoforge:conditions": [
{
"type": "neoforge:not",
"value": {
"type": "neoforge:tag_empty",
"tag": "c:ingots/nickel"
}
}
],
"type": "hbm:tag_result",
"ingredients": [
{
"neoforge:ingredient_type": "hbm:recipe_input",
"base": "hbm:pellet_rtg_depleted_nickel",
"remainder": true
}
],
"result": {
"count": 2,
"tag": "c:ingots/nickel"
}
}Crafting input state
Required component values and state-preserving crafting inputs.
Material distribution
Each active direct item or tag mapping has one material-distribution row.
© 2026 movblock. Original site text is licensed under CC BY-SA 4.0 unless otherwise noted. Built with Fumadocs.