{
  "type": "object",
  "title": "Conditional List",
  "description": "`minecraft:conditional_list` Places the first suitable feature within a collection.\nThese conditional features will be evaluated in order.\nSucceeds if: A condition is successfully resolved.\nFails if: No condition is successfully resolved.\nExample use: assigning a feature to an expression",
  "additionalProperties": false,
  "required": ["description", "conditional_features"],
  "properties": {
    "description": {
      "title": "Description",
      "description": "UNDOCUMENTED",
      "$comment": "UNDOCUMENTED",
      "type": "object",
      "required": ["identifier"],
      "properties": {
        "identifier": {
          "title": "Identifier",
          "description": "The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.",
          "type": "string",
          "$ref": "../../../../general/feature/identifier.json"
        }
      }
    },
    "conditional_features": {
      "title": "Conditional Features",
      "description": "Array of Features, and their associated Conditions, for attempted placement. These features will be evaluated as ordered.",
      "type": "array",
      "items": {
        "title": "Conditional Feature",
        "type": "object",
        "description": "A Feature, and their associated Conditions, for attempted placement. These features will be evaluated as ordered.",
        "additionalProperties": false,
        "required": ["places_feature", "condition"],
        "properties": {
          "places_feature": {
            "title": "Places feature",
            "description": "Feature to be placed.",
            "$ref": "../../../../general/feature/identifier.json"
          },
          "condition": {
            "title": "Condition",
            "description": "Condition for placing associated Feature",
            "$ref": "../../../../molang/string.json"
          }
        }
      }
    },
    "early_out_scheme": {
      "title": "Early out scheme",
      "description": "Denote whether placement should end on first successful placement or first passed condition.",
      "type": "string",
      "enum": ["condition_success", "placement_success"]
    }
  }
}
