ItemsAdderAdditionsItemsAdderAdditions
Recipes

Crafting

Add advanced crafting recipes with exact ingredients and completion actions.

Since v1.0.10

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: 3

Structure

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: 1

Supported standard recipe features

iaa_crafting_table also supports common crafting features you may already know from ItemsAdder, such as:

  • enabled
  • permission
  • shaped recipes with pattern
  • shapeless recipes
  • multiple pattern... variants
  • potion_type ingredient 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: 3

Shaped 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.
  • X marks empty slots. Do not define X as an ingredient.
  • Any other character not defined in ingredients is 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: true

and can use a list of ingredients:

my_recipe:
  shapeless: true
  ingredients:
    - item: IRON_INGOT
      amount: 2
    - item: GOLD_INGOT
      amount: 2
  result:
    item: DIAMOND

Ingredient 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:water

Shapeless list style

ingredients:
  - SNOWBALL
  - item: WATER_BUCKET
    replacement: BUCKET

Advanced 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: 3

damage

Instead of consuming the ingredient, damage it by the configured amount.

Useful for tools used in crafting.

ingredients:
  H:
    item: IRON_PICKAXE
    damage: 10

replacement

Replace the ingredient with another item after crafting.

Useful for buckets, bottles, molds, and similar containers.

ingredients:
  W:
    item: WATER_BUCKET
    replacement: BUCKET

ignore_durability

Ignore the current durability value when matching an item.

ingredients:
  T:
    item: IRON_PICKAXE
    ignore_durability: true

potion_type

Restrict a potion ingredient to a specific base potion type.

ingredients:
  P:
    item: POTION
    potion_type: minecraft:jump_boost

Full 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: 1

Full 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 STICK or DIAMOND
  • 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

  • replacement and damage are applied during crafting.
  • Shapeless recipes with advanced predicates should use the list format.
  • iaa_crafting_table is an additional advanced recipe type, not a replacement for ItemsAdder crafting_table.
  • iaa_crafting is an alias for iaa_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.

On this page