Files
minecraft-bedrock-json-schemas/resource/sounds.json
2021-03-11 16:07:04 +01:00

206 lines
7.6 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.resource.sounds.json",
"type": "object",
"title": "Sounds.json",
"description": "Sound definitions",
"additionalProperties": false,
"definitions": {
"pitch": {
"title": "Pitch",
"oneOf": [
{ "default": 1, "type": "number", "description": "A defined pitch" },
{
"description": "A random selection between a minimum and maximum",
"type": "array",
"items": [
{ "type": "number", "minimum": 0, "title": "Minimum" },
{ "type": "number", "minimum": 0, "title": "Maximum" }
]
}
]
},
"volume": {
"title": "Volume",
"oneOf": [
{ "default": 1, "type": "number", "description": "A defined volume" },
{
"description": "A random selection between a minimum and maximum",
"type": "array",
"items": [
{ "type": "number", "minimum": 0, "title": "Minimum" },
{ "type": "number", "minimum": 0, "title": "Maximum" }
]
}
]
},
"sound_event": {
"title": "Sound event definition",
"description": "A single sound event definition",
"oneOf": [
{ "type": "string" },
{
"type": "object",
"additionalProperties": false,
"required": ["sound"],
"properties": {
"volume": { "$ref": "#/definitions/volume" },
"sound": { "type": "string", "title": "Sound event", "description": "The sound event described in sound_definitions.json" },
"pitch": { "$ref": "#/definitions/pitch" }
}
}
]
},
"entity_event": {
"type": "object",
"title": "Entity sound",
"description": "Entity sound definitions",
"properties": {
"volume": { "$ref": "#/definitions/volume" },
"pitch": { "$ref": "#/definitions/pitch" },
"events": { "type": "object", "title": "Events", "propertyNames": { "pattern": "[a-z\\._]+" }, "additionalProperties": { "$ref": "#/definitions/sound_event" } }
}
}
},
"properties": {
"block_sounds": {
"type": "object",
"title": "Block sounds",
"description": "Block sound definitions",
"additionalProperties": {
"type": "object",
"title": "Block sound definition",
"description": "A single block sound definition",
"additionalProperties": false,
"properties": {
"volume": { "$ref": "#/definitions/volume" },
"pitch": { "$ref": "#/definitions/pitch" },
"events": {
"type": "object",
"title": "Events",
"propertyNames": { "enum": ["default", "item.use.on", "break", "hit", "place", "power.on", "power.off"] },
"additionalProperties": { "$ref": "#/definitions/sound_event" }
}
}
}
},
"entity_sounds": {
"type": "object",
"title": "Entity sounds",
"description": "Entity sounds definitions",
"additionalProperties": false,
"properties": {
"defaults": { "$ref": "#/definitions/entity_event" },
"entities": { "type": "object", "title": "Entities", "description": "Entities definitions", "additionalProperties": { "$ref": "#/definitions/entity_event" } }
}
},
"individual_event_sounds": {
"type": "object",
"title": "Individual event sounds",
"description": "Individual event sounds definitions",
"additionalProperties": false,
"properties": { "events": { "type": "object", "title": "Events", "description": "Events", "additionalProperties": { "$ref": "#/definitions/sound_event" } } }
},
"interactive_sounds": {
"type": "object",
"title": "Interactive sounds",
"description": "Interactive sounds definitions",
"additionalProperties": false,
"properties": {
"block_sounds": {
"type": "object",
"title": "Block sounds",
"description": "Block sound definitions",
"additionalProperties": {
"type": "object",
"title": "Block sound definition",
"description": "A single block sound definition",
"additionalProperties": false,
"properties": {
"volume": { "$ref": "#/definitions/volume" },
"pitch": { "$ref": "#/definitions/pitch" },
"events": {
"type": "object",
"title": "Events",
"propertyNames": { "enum": ["default", "fall", "step", "hit", "jump", "land"] },
"additionalProperties": {
"title": "Sound event definition",
"description": "A single sound event definition",
"oneOf": [
{ "type": "string" },
{
"type": "object",
"additionalProperties": false,
"minProperties": 1,
"properties": {
"volume": { "$ref": "#/definitions/volume" },
"sound": { "type": "string", "title": "Sound event", "description": "The sound event described in sound_definitions.json" },
"pitch": { "$ref": "#/definitions/pitch" }
}
}
]
}
}
}
}
},
"entity_sounds": {
"type": "object",
"title": "Entity sounds",
"description": "Entity sound definitions",
"additionalProperties": false,
"properties": {
"defaults": {
"type": "object",
"title": "Defaults",
"description": "Default sound definitions",
"additionalProperties": {
"type": "object",
"title": "Entity sounds",
"properties": {
"events": {
"type": "object",
"title": "Entity events",
"propertyNames": { "pattern": "[a-z0-9\\.]+" },
"additionalProperties": {
"type": "object",
"title": "Entity Event",
"description": "A single entity event",
"additionalProperties": { "type": "string", "title": "A sound interaction" }
}
}
}
},
"properties": { "volume": { "$ref": "#/definitions/volume" }, "pitch": { "$ref": "#/definitions/pitch" } }
},
"entities": {
"type": "object",
"title": "Entites sounds",
"description": "Entities sound definitions",
"additionalProperties": {
"type": "object",
"title": "Entity sounds",
"properties": {
"volume": { "$ref": "#/definitions/volume" },
"pitch": { "$ref": "#/definitions/pitch" },
"events": {
"type": "object",
"title": "Entity events",
"propertyNames": { "pattern": "[a-z0-9\\.]+" },
"additionalProperties": {
"type": "object",
"title": "Entity Event",
"description": "A single entity event",
"additionalProperties": { "type": "string", "title": "A sound interaction" }
}
}
}
}
}
}
}
}
}
}
}