{
  "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.send_event",
  "description": "Allows the mob to send an event to another mob.",
  "type": "object",
  "title": "Send Event",
  "additionalProperties": false,
  "definitions": {
    "sequence": {
      "type": "array",
      "description": "List of events to send.",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "base_delay": {
            "type": "number",
            "default": 0,
            "description": "Amount of time in seconds before starting this step."
          },
          "event": {
            "type": "string",
            "default": "",
            "description": "The event to send to the entity."
          },
          "sound_event": {
            "$ref": "../../../../general/sound_event.json",
            "default": "",
            "description": "The sound event to play when this step happens."
          }
        }
      }
    }
  },
  "properties": {
    "priority": {
      "$ref": "./types/priority.json"
    },
    "cast_duration": {
      "type": "number",
      "description": "Time in seconds for the entire event sending process.",
      "title": "Cast Duration"
    },
    "look_at_target": {
      "title": "Look At Target",
      "type": "boolean",
      "default": true,
      "description": "If true, the mob will face the entity it sends an event to."
    },
    "event_choices": {
      "type": "array",
      "title": "Event Choices",
      "description": "List of spells for the mob to use.",
      "$comment": "UNDOCUMENTED",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "title": "Event Choice",
        "description": "A spell that the mob can cast.",
        "$comment": "UNDOCUMENTED",
        "properties": {
          "min_activation_range": {
            "type": "number",
            "title": "Minimum Activation Range",
            "description": "The minimum distance in blocks the target must be for this spell to be cast.",
            "$comment": "UNDOCUMENTED",
            "minimum": 0
          },
          "max_activation_range": {
            "type": "number",
            "title": "Maxmimum Activation Range",
            "description": "The maxmimum distance in blocks the target must be for this spell to be cast.",
            "$comment": "UNDOCUMENTED",
            "minimum": 0
          },
          "cooldown_time": {
            "type": "number",
            "title": "Cooldown Time",
            "description": "Time in seconds before the mob can use this spell again.",
            "$comment": "UNDOCUMENTED"
          },
          "cast_duration": {
            "type": "number",
            "title": "Cast Duration",
            "description": "Time in seconds the spell casting will take.",
            "$comment": "UNDOCUMENTED"
          },
          "filters": {
            "$ref": "../../filters/filters.json"
          },
          "particle_color": {
            "type": "string",
            "format": "color-hex",
            "title": "Particle Color",
            "description": "The color of the particles for this spell.",
            "$comment": "UNDOCUMENTED"
          },
          "weight": {
            "type": "integer",
            "title": "Weight",
            "description": "The weight of this spell. Controls how likely this spell will be picked",
            "$comment": "UNDOCUMENTED"
          },
          "start_sound_event": {
            "$ref": "../../../../general/sound_event.json",
            "title": "Start Sound Event",
            "description": "The sound event to play when using this spell.",
            "$comment": "UNDOCUMENTED"
          },
          "sequence": {
            "$ref": "#/definitions/sequence"
          }
        }
      }
    },
    "sequence": {
      "$ref": "#/definitions/sequence",
      "description": "List of steps for the spell.",
      "$comment": "UNDOCUMENTED",
      "title": "Sequence"
    }
  },
  "examples": [
    {
      "cast_duration": 0.0,
      "event_choices": []
    }
  ]
}
