Crafting
Add advanced crafting recipes with exact ingredients and completion actions.
ItemsAdderAdditions adds an advanced crafting recipe type called iaa_crafting_table. It works for both 3x3 crafting-table recipes and 2x2 player-crafting-grid recipes. iaa_crafting is accepted as an alias.
Use it when you need extra ingredient validation features not available in the standard crafting_table type:
- vanilla item/block tags
- ItemsAdder, MMOItems, and vanilla item ingredients
- ingredient amounts
- durability damage on ingredients
- replacement items
- ignore durability matching
- potion type filtering
- shapeless ingredient lists
Important
Recipes using these extra features should be placed under:
recipes:
iaa_crafting_table:recipes:
iaa_crafting:Prefer iaa_crafting_table in new files. iaa_crafting behaves the same way and exists as an alias.
If you only need normal ItemsAdder crafting features, you can keep using the regular crafting_table recipe type.
Basic shaped recipe
info:
namespace: my_pack
recipes:
iaa_crafting_table:
wooden_scythe:
pattern:
- "XPP"
- "PXS"
- "XXS"
ingredients:
P: "#minecraft:planks"
S: STICK
result:
item: "my_pack:wooden_scythe"Basic shapeless recipe
info:
namespace: my_pack
recipes:
iaa_crafting_table:
mega_diamond:
shapeless: true
ingredients:
- item: IRON_INGOT
amount: 2
- item: GOLD_INGOT
amount: 2
- item: COPPER_INGOT
amount: 2
result:
item: DIAMOND
amount: 3Structure
info:
namespace: my_pack
recipes:
iaa_crafting_table:
my_recipe:
enabled: true
permission: "my_pack.recipe.use"
pattern:
- "ABC"
- "DEF"
- "GHI"
ingredients:
A: STICK
result:
item: DIAMOND
amount: 1Supported standard recipe features
iaa_crafting_table also supports common crafting features you may already know from ItemsAdder, such as:
enabledpermission- shaped recipes with
pattern - shapeless recipes
- multiple
pattern...variants potion_typeingredient filtering
Extra ItemsAdderAdditions features
The main reason to use these recipe types is their additional ingredient predicate support:
- vanilla tags with
#minecraft:tag - MMOItems ingredients with
mmoitems:type:id - per-ingredient
amount - per-ingredient
damage - per-ingredient
replacement ignore_durability- shapeless list-style ingredient format
Parameters
enabled
Optional. Defaults to true.
If set to false, the recipe is not registered.
permission
Optional.
If set, players must have this permission for the recipe result to appear and be craftable.
permission: "my_pack.recipe.use"shapeless
Optional. Defaults to false.
If true, the recipe is treated as shapeless.
Completion actions
Use on_complete to play a sound and/or run commands when the recipe is crafted.
on_complete:
sound:
name: "minecraft:entity.player.levelup"
source: master # optional, default: master
volume: 1.0 # optional, default: 1.0
pitch: 1.0 # optional, default: 1.0
commands:
reward:
command: "give {player} gold_ingot 4"
as_console: true # optional, default: false{player} is replaced with the crafting player's name. Commands run as the player by default; set as_console: true to run them from console.
Result
result.item
Required.
The output item.
Supports vanilla materials, ItemsAdder items, and MMOItems items. Tags are only valid for ingredients, not for results.
result:
item: "my_pack:custom_sword"result.amount
Optional. Defaults to 1.
result:
item: DIAMOND
amount: 3Shaped recipes
Shaped recipes use a pattern and a char-keyed ingredients section.
my_recipe:
pattern:
- "XPP"
- "PXS"
- "XXS"
ingredients:
P: "#minecraft:planks"
S: STICK
result:
item: "my_pack:wooden_scythe"Pattern notes
- Ingredient keys must be a single character.
Xmarks empty slots. Do not defineXas an ingredient.- Any other character not defined in
ingredientsis also treated as empty. - Multiple patterns are supported using keys such as
pattern_1,pattern_2, and so on.
Shapeless recipes
Shapeless recipes use:
shapeless: trueand can use a list of ingredients:
my_recipe:
shapeless: true
ingredients:
- item: IRON_INGOT
amount: 2
- item: GOLD_INGOT
amount: 2
result:
item: DIAMONDIngredient formats
Ingredients support multiple formats.
Simple string
ingredients:
S: STICK
P: "#minecraft:planks"
C: "my_pack:custom_part"
M: "mmoitems:material:ruby_shard"Detailed object
ingredients:
S:
item: STICK
amount: 2
damage: 5
replacement: STICK
ignore_durability: true
potion_type: minecraft:waterShapeless list style
ingredients:
- SNOWBALL
- item: WATER_BUCKET
replacement: BUCKETAdvanced ingredient features
Tags
Use vanilla Minecraft item or block tags by prefixing the value with #. Tags match vanilla registry entries only; they do not match ItemsAdder or MMOItems content.
ingredients:
P: "#minecraft:planks"Any item in that tag will match.
amount
Require more than one of the same ingredient.
ingredients:
I:
item: IRON_INGOT
amount: 3damage
Instead of consuming the ingredient, damage it by the configured amount.
Useful for tools used in crafting.
ingredients:
H:
item: IRON_PICKAXE
damage: 10replacement
Replace the ingredient with another item after crafting.
Useful for buckets, bottles, molds, and similar containers.
ingredients:
W:
item: WATER_BUCKET
replacement: BUCKETignore_durability
Ignore the current durability value when matching an item.
ingredients:
T:
item: IRON_PICKAXE
ignore_durability: truepotion_type
Restrict a potion ingredient to a specific base potion type.
ingredients:
P:
item: POTION
potion_type: minecraft:jump_boostFull shaped example
info:
namespace: my_pack
recipes:
iaa_crafting_table:
reinforced_blade:
enabled: true
permission: "my_pack.recipes.reinforced_blade"
pattern:
- "XIT"
- "XSI"
- "SXX"
ingredients:
I:
item: IRON_INGOT
amount: 2
S: STICK
T:
item: IRON_PICKAXE
damage: 8
ignore_durability: true
result:
item: "my_pack:reinforced_blade"
amount: 1Full shapeless example
info:
namespace: my_pack
recipes:
iaa_crafting_table:
purified_bottle:
shapeless: true
ingredients:
- item: POTION
potion_type: minecraft:water
- item: DIAMOND
amount: 2
result:
item: "my_pack:purified_bottle"Supported item references
See IDs for the shared ID reference.
Ingredient and result items can use:
- vanilla material names like
STICKorDIAMOND - vanilla namespaced IDs like
minecraft:stick - ItemsAdder IDs like
namespace:item - MMOItems IDs like
mmoitems:type:id
Ingredients can additionally use vanilla tags like #minecraft:planks and ItemsAdderAdditions custom item tags. Tags are not valid as results or replacement items.
Notes
replacementanddamageare applied during crafting.- Shapeless recipes with advanced predicates should use the list format.
iaa_crafting_tableis an additional advanced recipe type, not a replacement for ItemsAddercrafting_table.iaa_craftingis an alias foriaa_crafting_table.- Every
pattern...key is loaded as a shaped pattern variant. Examples:pattern,pattern_2,pattern_alt. - Anonymous shapeless ingredient lists support up to 26 entries.