Skip to content

Recipe JSON

Ruben Taelman edited this page Jun 8, 2024 · 5 revisions

As of Minecraft 1.15, this mod supports JSON-based recipes for all machines. The following recipe types are available:

  • integrateddynamics:drying_basin
  • integrateddynamics:squeezer
  • integrateddynamics:mechanical_drying_basin
  • integrateddynamics:mechanical_squeezer

Examples can be found in https://github.com/CyclopsMC/IntegratedDynamics/tree/master-1.20/src/main/resources/data/integrateddynamics/recipes

More details for each recipe type can be found below.

Drying Basin

A JSON recipe with "type": "integrateddynamics:drying_basin".

Keys:

  • input_fluid: (optional) A fluid ingredient.
  • input_item: (optional) An item ingredient.
  • duration: The number of ticks it takes to produce the output.
  • output_fluid: A fluid output.
  • output_item: An item output.

Notes:

  • As input, either fluid or item MUST be present.
  • As output either fluid or item MUST be present.
  • Fluid can only occur in either input or output, not both.

Examples:

{
  "type": "integrateddynamics:drying_basin",
  "input_fluid": {
    "FluidName": "integrateddynamics:liquid_chorus",
    "Amount": 1000
  },
  "duration": 300,
  "output_item": {
    "item": "integrateddynamics:crystalized_chorus_block"
  }
}
{
  "type": "integrateddynamics:drying_basin",
  "input_fluid": {
    "FluidName": "evilcraft:blood",
    "Amount": 1000
  },
  "duration": 400,
  "output_item": {
    "item": "evilcraft:hardened_blood"
  },
  "neoforge:conditions": [
    {
      "type": "neoforge:mod_loaded",
      "modid": "evilcraft"
    }
  ]
}

Squeezer

A JSON recipe with "type": "integrateddynamics:squeezer".

Keys:

  • input_item: The item ingredient.
  • output_fluid: (optional) A fluid ingredient.
  • output_items: Items array with output chances.
    • item or tag: An item or tag ingredient.
    • chance: (optional) A chance of output, defaults to 1

Notes:

  • As output either fluid or at least one items value MUST be present.

Examples:

{
  "type": "integrateddynamics:squeezer",
  "input_item": {
    "item": "integrateddynamics:proto_chorus"
  },
  "output_fluid": {
    "FluidName": "integrateddynamics:liquid_chorus",
    "Amount": 125
  }
}
{
  "type": "integrateddynamics:squeezer",
  "input_item": "evilcraft:undead_log",
  "output_fluid": {
    "FluidName": "evilcraft:blood",
    "Amount": 100
  },
  "output_items": [
    {
      "tag": {
        "tag": "forge:raw_materials/gold",
        "count": 2
      }
    },
    {
      "tag": {
        "tag": "forge:raw_materials/gold"
      },
      "chance": 0.75
    }
  ],
  "neoforge:conditions": [
    {
      "type": "neoforge:mod_loaded",
      "modid": "evilcraft"
    }
  ]
}

Mechanical Drying Basin

A JSON recipe with "type": "integrateddynamics:mechanical_drying_basin".

Keys:

  • input_fluid: (optional) A fluid ingredient.
  • input_item: (optional) An item ingredient.
  • duration: The number of ticks it takes to produce the output.
  • output_fluid: A fluid output.
  • output_item: An item output.

Notes:

  • As input, either fluid or item MUST be present.
  • As output either fluid or item MUST be present.
  • Fluid can only occur in either input or output, not both.

Examples:

{
  "type": "integrateddynamics:mechanical_drying_basin",
  "input_fluid": {
    "FluidName": "integrateddynamics:menril_resin",
    "Amount": 1000
  },
  "duration": 15,
  "output_item": {
    "item": "integrateddynamics:crystalized_menril_block"
  }
}
{
  "type": "integrateddynamics:mechanical_drying_basin",
  "input_fluid": {
    "FluidName": "evilcraft:blood",
    "Amount": 1000
  },
  "duration": 40,
  "output_item": {
    "item": "evilcraft:hardened_blood"
  },
  "neoforge:conditions": [
    {
      "type": "neoforge:mod_loaded",
      "modid": "evilcraft"
    }
  ]
}

Mechanical Squeezer

A JSON recipe with "type": "integrateddynamics:mechanical_squeezer".

Keys:

  • input_item: The item ingredient.
  • duration: The number of ticks it takes to produce the output.
  • output_fluid: (optional) A fluid ingredient.
  • output_items: Items array with output chances.
    • item or tag: An item or tag ingredient.
    • chance: (optional) A chance of output, defaults to 1

Notes:

  • As output either fluid or at least one items value MUST be present.

Examples:

{
  "type": "integrateddynamics:mechanical_squeezer",
  "input_item": {
    "item": "integrateddynamics:proto_chorus"
  },
  "output_fluid": {
    "FluidName": "integrateddynamics:liquid_chorus",
    "Amount": 125
  },
  "output_items": [
    {
      "item": {
        "item": "integrateddynamics:crystalized_chorus_chunk"
      },
      "chance": 0.5
    },
    {
      "item": {
        "item": "integrateddynamics:crystalized_chorus_chunk"
      },
      "chance": 0.5
    }
  ],
  "duration": 15
}
{
  "type": "integrateddynamics:mechanical_squeezer",
  "input_item": {
    "item": "evilcraft:undead_log"
  },
  "output_fluid": {
    "FluidName": "evilcraft:blood",
    "Amount": 100
  },
  "output_items": [
    {
      "tag": {
        "tag": "forge:raw_materials/gold",
        "count": 3
      }
    },
    {
      "tag": {
        "tag": "forge:raw_materials/gold",
        "count": 2
      },
      "chance": 0.5
    },
    {
      "tag": {
        "tag": "forge:raw_materials/gold",
        "count": 2
      },
      "chance": 0.5
    }
  ],
  "duration": 25,
  "neoforge:conditions": [
    {
      "type": "neoforge:mod_loaded",
      "modid": "evilcraft"
    }
  ]
}