[
  {
    "type": "mapgen",
    "update_mapgen_id": "test_stove_update",
    "method": "json",
    "object": { "set": [ { "point": "furniture", "id": "f_woodstove", "x": 19, "y": 6 } ] }
  },
  {
    "type": "recipe",
    "result": "test_base_stove_1",
    "description": "Test data only.",
    "activity_level": "MODERATE_EXERCISE",
    "category": "CC_BUILDING",
    "subcategory": "CSC_BUILDING_BASES",
    "autolearn": false,
    "never_learn": true,
    "construction_blueprint": "test_stove_update",
    "blueprint_name": "stove",
    "//": "This has explicit needs which are checked",
    "blueprint_needs": {
      "time": "1 h",
      "skills": [ [ "fabrication", 5 ], [ "mechanics", 3 ] ],
      "inline": { "tools": [  ], "qualities": [ [ { "id": "SAW_M" } ] ], "components": [ [ [ "metal_tank", 1 ] ], [ [ "pipe", 1 ] ] ] }
    }
  },
  {
    "type": "recipe",
    "result": "test_base_stove_2",
    "description": "Test data only.",
    "activity_level": "MODERATE_EXERCISE",
    "category": "CC_BUILDING",
    "subcategory": "CSC_BUILDING_BASES",
    "autolearn": false,
    "never_learn": true,
    "construction_blueprint": "test_stove_update",
    "blueprint_name": "stove",
    "//": "This has no needs so they are auto calculated"
  },
  {
    "type": "recipe",
    "result": "test_base_stove_3",
    "description": "Test data only.",
    "activity_level": "MODERATE_EXERCISE",
    "category": "CC_BUILDING",
    "subcategory": "CSC_BUILDING_BASES",
    "autolearn": false,
    "never_learn": true,
    "construction_blueprint": "test_stove_update",
    "blueprint_name": "stove",
    "//": "This has explicit needs which don't match, so it disables checking",
    "blueprint_needs": {  },
    "check_blueprint_needs": false
  },
  {
    "type": "recipe",
    "result": "test_base_stove_plus_pipe_1",
    "description": "Test data only.",
    "activity_level": "MODERATE_EXERCISE",
    "category": "CC_BUILDING",
    "subcategory": "CSC_BUILDING_BASES",
    "autolearn": false,
    "never_learn": true,
    "//0": "This blueprint has regular recipe components etc. in addition to the blueprint_needs.  Similarly for the next two",
    "time": "20 m",
    "qualities": [ { "id": "CUT", "level": 2 } ],
    "components": [ [ [ "pipe", 2 ], [ "scrap", 1 ] ] ],
    "construction_blueprint": "test_stove_update",
    "blueprint_name": "stove",
    "//": "This has explicit needs which are checked",
    "blueprint_needs": {
      "time": "1 h",
      "skills": [ [ "fabrication", 5 ], [ "mechanics", 3 ] ],
      "inline": { "tools": [  ], "qualities": [ [ { "id": "SAW_M" } ] ], "components": [ [ [ "metal_tank", 1 ] ], [ [ "pipe", 1 ] ] ] }
    }
  },
  {
    "type": "recipe",
    "result": "test_base_stove_plus_pipe_2",
    "description": "Test data only.",
    "activity_level": "MODERATE_EXERCISE",
    "category": "CC_BUILDING",
    "subcategory": "CSC_BUILDING_BASES",
    "autolearn": false,
    "never_learn": true,
    "time": "20 m",
    "qualities": [ { "id": "CUT", "level": 2 } ],
    "components": [ [ [ "pipe", 2 ], [ "scrap", 1 ] ] ],
    "construction_blueprint": "test_stove_update",
    "blueprint_name": "stove",
    "//": "This has no needs so they are auto calculated"
  },
  {
    "type": "recipe",
    "result": "test_base_stove_plus_pipe_3",
    "description": "Test data only.",
    "activity_level": "MODERATE_EXERCISE",
    "category": "CC_BUILDING",
    "subcategory": "CSC_BUILDING_BASES",
    "autolearn": false,
    "never_learn": true,
    "time": "20 m",
    "qualities": [ { "id": "CUT", "level": 2 } ],
    "components": [ [ [ "pipe", 2 ], [ "scrap", 1 ] ] ],
    "construction_blueprint": "test_stove_update",
    "blueprint_name": "stove",
    "//": "This has explicit needs which don't match, so it disables checking",
    "blueprint_needs": {  },
    "check_blueprint_needs": false
  },
  {
    "type": "recipe",
    "result": "test_base_stove_plus_pipe_4",
    "description": "Test data only.",
    "activity_level": "MODERATE_EXERCISE",
    "category": "CC_BUILDING",
    "subcategory": "CSC_BUILDING_BASES",
    "autolearn": false,
    "never_learn": true,
    "time": "20 m",
    "qualities": [ { "id": "CUT", "level": 2 } ],
    "components": [ [ [ "pipe", 2 ], [ "scrap", 1 ] ] ],
    "construction_blueprint": "test_stove_update",
    "blueprint_name": "stove",
    "//": "This doesn't declare blueprint_needs at all, and disables checking, so they are taken exclusively from the recipe needs",
    "check_blueprint_needs": false
  }
]
