Skip to content

Datapack Guide

Zetakron edited this page Oct 29, 2026 · 2 revisions

Datapack Recipe & Tag Guide

In Minecraft 1.21.1, recipe files must be located in data/<namespace>/recipes/ (plural). In Minecraft 1.21.4, 26.2, and 26.3, recipes are located in data/<namespace>/recipe/ (singular).

Example Datapack Tree

my_datapack/
├── pack.mcmeta
└── data/
    └── my_pack/
        ├── recipe/                          (or 'recipes' on 1.21.1)
        │   ├── crushing/
        │   │   ├── raw_copper_crushing.json
        │   │   └── deepslate_crushing.json
        │   └── conveyor_smelting/
        │       └── fast_glass_smelting.json
        └── tags/
            └── item/                       (or items/ on 1.21.1)
                └── machine_fuels.json

1. Crusher Recipes (conveyorandautomation:crushing)

Parameter Specification

Parameter Type Required Default Description
type String Yes — Must be "conveyorandautomation:crushing"
ingredient String / Object Yes — Input item ID ("minecraft:iron_ore") or Tag ("#c:ores/iron").
result Object Yes — Primary result: { "id": "...", "count": 1 }.
secondary Object No ItemStack.EMPTY Optional bonus result: { "id": "...", "count": 1 }.
secondary_chance Float No 0.0 Probability of bonus drop (0.0 = 0% to 1.0 = 100%).
crush_time Integer No 80 Processing time in game ticks (20 ticks = 1 second).

For 1.21.4, 26.2, 26.3

Example A: Item Input with Secondary Bonus

File: data/my_pack/recipe/crushing/raw_iron.json

{
  "type": "conveyorandautomation:crushing",
  "ingredient": "minecraft:raw_iron_block",
  "result": {
    "id": "conveyorandautomation:iron_dust",
    "count": 12
  },
  "secondary": {
    "id": "minecraft:diamond",
    "count": 1
  },
  "secondary_chance": 0.05,
  "crush_time": 160
}

Example B: Tag Input (Modpack Unification)

File: data/my_pack/recipe/crushing/copper_ore_tag.json

{
  "type": "conveyorandautomation:crushing",
  "ingredient": "#c:ores/copper",
  "result": {
    "id": "conveyorandautomation:copper_dust",
    "count": 2
  },
  "secondary": {
    "id": "minecraft:clay_ball",
    "count": 1
  },
  "secondary_chance": 0.20,
  "crush_time": 100
}

For 1.21.1

File: data/my_pack/recipes/crushing/raw_iron.json

{
  "type": "conveyorandautomation:crushing",
  "ingredient": {
    "item": "minecraft:raw_iron_block"
  },
  "result": {
    "id": "conveyorandautomation:iron_dust",
    "count": 12
  },
  "secondary": {
    "id": "minecraft:diamond",
    "count": 1
  },
  "secondary_chance": 0.05,
  "crush_time": 160
}

Tag input in 1.21.1:

{
  "ingredient": {
    "tag": "c:ores/copper"
  }
}

2. Conveyor Smelter Recipes (conveyorandautomation:conveyor_smelting)

Parameter Specification

Parameter Type Required Default Description
type String Yes — Must be "conveyorandautomation:conveyor_smelting"
ingredient String / Object Yes — Input item ID ("...") or Tag ("#...").
result Object Yes — Output item: { "id": "...", "count": 1 }.
experience Float No 0.1 Amount of experience dropped upon cooking.
cookingtime Integer No 100 Smelting duration in game ticks (default 100 = 5s).

For 1.21.4, 26.2, 26.3

File: data/my_pack/recipe/conveyor_smelting/copper_dust_fast.json

{
  "type": "conveyorandautomation:conveyor_smelting",
  "ingredient": "conveyorandautomation:copper_dust",
  "result": {
    "id": "minecraft:copper_ingot",
    "count": 1
  },
  "experience": 0.7,
  "cookingtime": 60
}

Tag input:

{
  "type": "conveyorandautomation:conveyor_smelting",
  "ingredient": "#c:dusts/iron",
  "result": {
    "id": "minecraft:iron_ingot",
    "count": 1
  },
  "experience": 0.7,
  "cookingtime": 80
}

For 1.21.1

File: data/my_pack/recipes/conveyor_smelting/copper_dust_fast.json

{
  "type": "conveyorandautomation:conveyor_smelting",
  "ingredient": {
    "item": "conveyorandautomation:copper_dust"
  },
  "result": {
    "id": "minecraft:copper_ingot",
    "count": 1
  },
  "experience": 0.7,
  "cookingtime": 60
}

3. Configurable Machine Tags

You can customize machine behavior and whitelist/blacklist items or entities by overriding or appending to the mod's data tags:

1. Solid Fuel Tag (#conveyorandautomation:machine_fuels)

File: data/conveyorandautomation/tags/items/machine_fuels.json (or tags/item/ on modern)

{
  "replace": false,
  "values": [
    "minecraft:coal",
    "minecraft:charcoal",
    "minecraft:coal_block",
    "minecraft:blaze_rod",
    "minecraft:lava_bucket",
    "my_mod:biomass_fuel"
  ]
}

2. Item Vacuum Blacklist (#conveyorandautomation:vacuum_blacklist)

File: data/conveyorandautomation/tags/items/vacuum_blacklist.json

{
  "replace": false,
  "values": [
    "minecraft:dirt",
    "minecraft:cobblestone"
  ]
}

3. Auto Slasher Entity Blacklist (#conveyorandautomation:slasher_blacklist)

Entity types that the Auto Slasher will ignore and not attack.

File: data/conveyorandautomation/tags/entity_types/slasher_blacklist.json

{
  "replace": false,
  "values": [
    "minecraft:villager",
    "minecraft:iron_golem",
    "minecraft:cat",
    "minecraft:wolf"
  ]
}