{
  "$id": "blockception.minecraft.sound_definition.1.14.0.json",
  "type": "object",
  "additionalItems": false,
  "title": "Sound File For 1.14.0",
  "description": "UNDOCUMENTED",
  "$comment": "UNDOCUMENTED",
  "definitions": {
    "SoundPath": {
      "$id": "SoundFilepath",
      "type": "string",
      "title": "Sound Filepath Schema",
      "description": "The filepath to the sound, starts with `sounds/'",
      "pattern": "(^sounds/.*$|^$)",
      "additionalItems": true
    },
    "SoundSpec": {
      "additionalItems": false,
      "type": "object",
      "$id": "#/Sound",
      "title": "Sound",
      "required": ["sounds"],
      "properties": {
        "category": {
          "type": "string",
          "$id": "#/Sound/category",
          "title": "Sound Category",
          "enum": ["ambient", "block", "music", "weather", "ui", "bucket", "neutral", "player", "hostile", "record", "bottle"],
          "description": "UNDOCUMENTED: category"
        },
        "sounds": {
          "items": {
            "anyOf": [
              {
                "$id": "#/Sound/sounds/stringItem",
                "type": "string",
                "$ref": "#/definitions/SoundPath",
                "description": "UNDOCUMENTED",
                "$comment": "UNDOCUMENTED",
                "title": "Sounds"
              },
              {
                "additionalItems": false,
                "$id": "#/Sound/sounds/ObjectItem",
                "type": "object",
                "required": ["name"],
                "properties": {
                  "pitch": { "description": "The pitch of the audio, 1 is nomial", "type": "number", "minimum": 0, "maximum": 2, "title": "Pitch" },
                  "volume": { "description": "The volume of the audio, 1 is nomial", "type": "number", "minimum": 0, "title": "Volume" },
                  "load_on_low_memory": {
                    "type": "boolean",
                    "description": "Marks if this audio should be loaded or not on low memory",
                    "title": "Load On Low Memory"
                  },
                  "stream": { "description": "If marked true then minecraft will stream the audio", "type": "boolean", "title": "Stream" },
                  "name": {
                    "$id": "#/Sound/sounds/stringItem",
                    "type": "string",
                    "$ref": "#/definitions/SoundPath",
                    "description": "UNDOCUMENTED: name",
                    "title": "Name"
                  }
                },
                "description": "UNDOCUMENTED",
                "$comment": "UNDOCUMENTED",
                "title": "Sounds"
              }
            ],
            "description": "UNDOCUMENTED: sounds",
            "title": "Sounds"
          },
          "description": "UNDOCUMENTED: sounds",
          "title": "Sounds"
        }
      }
    }
  },
  "properties": {
    "format_version": {
      "type": "string",
      "description": "A version that tells minecraft what type of data format can be expected when reading this file.",
      "title": "Format Version"
    },
    "sound_definitions": {
      "type": "object",
      "additionalProperties": { "$ref": "#/definitions/SoundSpec" },
      "description": "UNDOCUMENTED: sound definitions",
      "title": "Sound Definitions"
    },
    "__use_legacy_max_distance": {
      "description": "UNDOCUMENTED: use legacy Maximum distance",
      "title": "Use Legacy Maximum Distance",
      "type": "string",
      "enum": ["true", "false"]
    }
  },
  "additionalProperties": false
}
