Files
minecraft-bedrock-json-schemas/source/behavior/entities/format/components/angry.json
Piotr Brzozowski c60e5c0d39 Add sound event schema and use where appropriate (#120)
* Fix typo in module name

* Add sound_event schema and add it where appropriate
2022-10-02 21:51:03 +02:00

134 lines
4.3 KiB
JSON

{
"$id": "blockception.minecraft.behavior.entities.minecraft.angry",
"type": "object",
"title": "Angry",
"description": "Defines the entity's 'angry' state using a timer.",
"additionalProperties": false,
"required": [],
"properties": {
"broadcast_anger": {
"title": "Broadcast Anger",
"type": "boolean",
"default": false,
"description": "If true, other entities of the same entity definition within the broadcastRange will also become angry."
},
"broadcast_filters": {
"title": "Broadcast Filters",
"$ref": "../../filters/filters.json",
"description": "Conditions that make this entry in the list valid."
},
"filters": {
"$ref": "../../filters/filters.json",
"description": "Filter out mob types that it should not attack while angry (other Piglins)."
},
"broadcast_range": {
"title": "Broadcast Range",
"type": "integer",
"default": 20,
"description": "Distance in blocks within which other entities of the same entity definition will become angry."
},
"broadcast_targets": {
"title": "Broadcast Targets",
"type": "array",
"description": "A list of entity families to broadcast anger to.",
"items": {
"type": "string",
"description": "An entity family.",
"pattern": "^.+$",
"title": "Broadcast Targets"
}
},
"calm_event": {
"title": "Calm Event",
"$ref": "../types/event_object.json",
"description": "Event to run after the number of seconds specified in duration expires (when the entity stops being \"angry\")"
},
"angry_sound": {
"title": "Angry Sound",
"$ref": "../../../../general/sound_event.json",
"default": "",
"description": "The sound event to play when the mob is angry."
},
"broadcast_anger_on_attack": {
"title": "Broadcast Anger On Attack",
"type": "boolean",
"default": false,
"description": "If true, other entities of the same entity definition within the broadcastRange will also become angry whenever this mob attacks."
},
"broadcast_anger_on_being_attacked": {
"type": "boolean",
"default": false,
"description": "If true, other entities of the same entity definition within the broadcastRange will also become angry whenever this mob is attacked.",
"title": "Broadcast Anger On Being Attacked"
},
"duration": {
"title": "Duration",
"type": "integer",
"default": 25,
"description": "The amount of time in seconds that the entity will be angry."
},
"duration_delta": {
"title": "Duration Delta",
"type": "integer",
"default": 0,
"description": "Variance in seconds added to the duration [-delta, delta]."
},
"sound_interval": {
"description": "The range of time in seconds to randomly wait before playing the sound again.",
"title": "Sound Interval",
"oneOf": [
{
"type": "array",
"default": [0, 0],
"items": [
{
"type": "integer",
"minimum": 0,
"description": "The minimum interval.",
"$comment": "UNDOCUMENTED",
"title": "Minimum"
},
{
"type": "integer",
"minimum": 0,
"description": "The maximum interval.",
"$comment": "UNDOCUMENTED",
"title": "Maximum"
}
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"range_min": {
"type": "number",
"description": "The minimum interval.",
"$comment": "UNDOCUMENTED",
"title": "Range Minimum"
},
"range_max": {
"type": "number",
"description": "The maximum interval.",
"$comment": "UNDOCUMENTED",
"title": "Range Maximum"
}
}
}
]
}
},
"examples": [
{
"broadcast_anger": false,
"broadcast_range": 20,
"broadcast_targets": [],
"angry_sound": "",
"broadcast_anger_on_attack": false,
"broadcast_anger_on_being_attacked": false,
"duration": 25,
"duration_delta": 0
}
]
}