A recipe defines a crafting formula — ingredients, output quantity, craft time, and optional skill requirement. Recipes are organized by craft type in folders under data/recipes/.

Craft Type → Folder Mapping

Craft TypeFolder
forgingdata/recipes/ingots/
alloysdata/recipes/alloys/
circuitsdata/recipes/circuits/
crystalsdata/recipes/Crystals/
otherdata/recipes/misc/

JSON Shape

{
  "type": "forging",
  "output": "mypack:ingot_iron",
  "outputAmount": 1,
  "requires": {
    "skill": "mypack:forging",
    "level": 1
  },
  "time_seconds": 30,
  "inputs": [
    { "id": "mypack:ore_iron",  "amount": 3 },
    { "id": "mypack:ore_coal",  "amount": 1 }
  ]
}

Field Reference

FieldTypeRequiredDescription
typestringCraft type slug. Determines which crafting station processes this recipe.
outputstring (registry key)Registry key of the item produced.
outputAmountintegerNumber of output items produced per craft.
time_secondsintegerTime in seconds to complete one craft cycle.
inputsarrayList of ingredient items. Each entry: { "id": "<registry key>", "amount": <integer> }
requires.skillstring (registry key)NoRegistry key of the skill required. Omit if no skill requirement.
requires.levelintegerNoMinimum skill level required.

Crafting Time Guide

time_secondsMeaning
015Instant or very fast — basic materials
1560Short — common ingots
60300Medium — uncommon materials
3001200Long — rare materials
1200+Very long — high-tier exotic materials

Example — Basic Ore-to-Ingot (No Skill)

{
  "type": "forging",
  "output": "mypack:ingot_copper",
  "outputAmount": 1,
  "time_seconds": 15,
  "inputs": [
    { "id": "mypack:ore_copper", "amount": 1 },
    { "id": "mypack:ore_coal",   "amount": 1 }
  ]
}

Example — Intermediate Ingot (Skill Required)

{
  "type": "forging",
  "output": "mypack:ingot_uranium",
  "outputAmount": 1,
  "requires": {
    "skill": "mypack:forging",
    "level": 3
  },
  "time_seconds": 180,
  "inputs": [
    { "id": "mypack:ore_uranium", "amount": 2 },
    { "id": "mypack:ore_coal",    "amount": 5 }
  ]
}

Example — Alloy Recipe

{
  "type": "alloys",
  "output": "mypack:alloy_xenite_uranium",
  "outputAmount": 1,
  "requires": {
    "skill": "mypack:alloying",
    "level": 6
  },
  "time_seconds": 600,
  "inputs": [
    { "id": "mypack:ingot_uranium", "amount": 1 },
    { "id": "mypack:ingot_xenite",  "amount": 2 },
    { "id": "mypack:ore_coal",      "amount": 8 }
  ]
}

Design Tips

  • Chain your materials. Design a clear progression: ore → ingot → alloy → equipment.
  • Match craft time to rarity. Common materials: 15–60s. Legendary: 10+ minutes.
  • Use skill level as a gate. Lock key recipes behind skill levels to prevent progression skipping.