{
  "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.sleep",
  "additionalProperties": false,
  "description": "Allows mobs that own a bed to in a village to move to and sleep in it.",
  "type": "object",
  "title": "Sleep",
  "required": [],
  "properties": {
    "priority": { "$ref": "types/priority.json" },
    "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
    "can_sleep_while_riding": {
      "title": "Can Sleep While Riding",
      "type": "boolean",
      "default": false,
      "description": "If true, the mob will be able to use the sleep goal if riding something."
    },
    "cooldown_time": {
      "title": "Cooldown Time",
      "type": "number",
      "default": 0.0,
      "description": "Time in seconds the mob has to wait before using the goal again."
    },
    "sleep_collider_height": {
      "title": "Sleep Collider Height",
      "type": "number",
      "default": 1.0,
      "description": "The height of the mob's collider while sleeping."
    },
    "sleep_collider_width": {
      "title": "Sleep Collider Width",
      "type": "number",
      "default": 1.0,
      "description": "The width of the mob's collider while sleeping."
    },
    "sleep_y_offset": {
      "title": "Sleep Y Offset",
      "type": "number",
      "default": 1.0,
      "description": "The y offset of the mob's collider while sleeping."
    },
    "timeout_cooldown": {
      "title": "Timeout Cooldown",
      "type": "number",
      "default": 8.0,
      "description": "The cooldown time in seconds before the goal can be reused after a internal failure or timeout condition."
    },
    "goal_radius": {
      "title": "Goal Radius",
      "description": "Distance in blocks within the mob considers it has reached the goal. This is the \"wiggle room\" to stop the AI from bouncing back and forth trying to reach a specific spot",
      "default":  0.5,
      "type": "number"
    }
  },
  "examples": [
    {
      "cooldown_time": 0,
      "goal_radius": 0,
      "sleep_collider_height": 1,
      "sleep_collider_width": 1,
      "sleep_y_offset": 1,
      "timeout_cooldown": 8
    }
  ]
}
