{
  "title": "Snap To Surface Feature",
  "description": "`minecraft:snap_to_surface_feature` snaps the y-value of a feature placement pos to the floor or the ceiling within the provided `vertical_search_range`. The placement biome is preserved. \nIf the snap position goes outside of the placement biome, placement will fail.",
  "type": "object",
  "additionalProperties": false,
  "required": ["description", "feature_to_snap", "vertical_search_range"],
  "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"
        }
      }
    },
    "feature_to_snap": {
      "title": "Feature to snap",
      "description": "Named reference of feature to be snapped",
      "type": "string",
      "$ref": "../../../../general/feature/identifier.json"
    },
    "vertical_search_range": {
      "title": "Vertical search range",
      "description": "Range to search for a floor or ceiling for snaping the feature.",
      "type": "number"
    },
    "surface": {
      "title": "Surface",
      "description": "Defines the surface that the y-value of the placement position will be snapped to. Valid values: `ceiling` and `floor'",
      "type": "string",
      "enum": ["ceiling", "floor"]
    }
  }
}
