{
  "$id": "blockception.minecraft.behavior.entities.1.16.0.minecraft.behavior.nearest_prioritized_attackable_target",
  "type": "object",
  "title": "Nearest Prioritized Attackable Target 1.16.0",
  "description": "Allows the mob to check for and pursue the nearest valid target.",
  "additionalProperties": false,

  "properties": {
    "priority": { "$ref": "./types/priority.json" },
    "entity_types": {
      "description": "List of entity types that this mob considers valid targets",
      "title": "Entity Types",
      "$ref": "../types/entity_types.json"
    },
    "attack_interval": { "type": "integer", "default": 0, "description": "Time in seconds before selecting a target", "title": "Attack Interval" },
    "must_reach": {
      "type": "boolean",
      "default": false,
      "description": "If true, only entities that this mob can path to can be selected as targets",
      "title": "Must Reach"
    },
    "must_see": {
      "type": "boolean",
      "default": false,
      "description": "If true, only entities in this mob's viewing range can be selected as targets",
      "title": "Must See"
    },
    "must_see_forget_duration": {
      "type": "number",
      "default": 3,
      "description": "Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more",
      "title": "Must See Forget Duration"
    },
    "persist_time": {
      "type": "number",
      "default": 0.0,
      "description": "Time in seconds for a valid target to stay targeted when it becomes and invalid target.",
      "title": "Persist Time"
    },
    "reselect_targets": {
      "type": "boolean",
      "default": false,
      "description": "If true, the target will change to the current closest entity whenever a different entity is closer",
      "title": "Reselect Targets"
    },
    "scan_interval": {
      "type": "integer",
      "default": 10,
      "description": "How many ticks to wait between scanning for a target.",
      "title": "Scan Interval"
    },
    "set_persistent": {
      "type": "boolean",
      "default": false,
      "description": "Allows the actor to be set to persist upon targeting a player",
      "title": "Set Persistent"
    },
    "target_search_height": {
      "type": "number",
      "default": -1.0,
      "description": "Height in blocks to search for a target mob. -1.0f means the height does not matter.",
      "title": "Target Search Height"
    },
    "within_radius": {
      "type": "number",
      "default": 0,
      "description": "Distance in blocks that the target can be within to launch an attack",
      "title": "Within Radius"
    }
  }
}
