{
  "$id": "blockception.minecraft.behavior.entities.1.8.0.minecraft.flocking",
  "type": "object",
  "title": "Flocking 1.8.0",
  "description": "Allows entities to flock in groups in water or not.",
  "additionalProperties": false,
  "properties": {
    "block_distance": {
      "type": "number",
      "default": 0,
      "description": "The amount of blocks away the entity will look at to push away from.",
      "title": "Block Distance"
    },
    "block_weight": { "type": "number", "default": 0, "description": "The weight of the push back away from blocks.", "title": "Block Weight" },
    "breach_influence": {
      "type": "number",
      "default": 0,
      "description": "The amount of push back given to a flocker that breaches out of the water.",
      "title": "Breach Influence"
    },
    "cohesion_threshold": {
      "type": "number",
      "default": 1,
      "description": "The threshold in which to start applying cohesion.",
      "title": "Cohesion Threshold"
    },
    "cohesion_weight": {
      "type": "number",
      "default": 1,
      "description": "The weight applied for the cohesion steering of the flock.",
      "title": "Cohesion Weight"
    },
    "goal_weight": { "type": "number", "default": 0, "description": "The weight on which to apply on the goal output.", "title": "Goal Weight" },
    "high_flock_limit": {
      "type": "integer",
      "default": 0,
      "description": "Determines the high bound amount of entities that can be allowed in the flock.",
      "title": "High Flock Limit"
    },
    "in_water": {
      "type": "boolean",
      "default": false,
      "description": "Tells the Flocking Component if the entity exists in water.",
      "title": "In Water"
    },
    "influence_radius": {
      "type": "number",
      "default": 0,
      "description": "The area around the entity that allows others to be added to the flock.",
      "title": "Influence Radius"
    },
    "innner_cohesion_threshold": {
      "type": "number",
      "default": 0,
      "description": "The distance in which the flocker will stop applying cohesion.",
      "title": "Innner Cohesion Threshold"
    },
    "loner_chance": {
      "type": "number",
      "default": 0,
      "description": "The percentage chance between 0-1 that a fish will spawn and not want to join flocks. Invalid values will be capped at the end points.",
      "title": "Loner Chance"
    },
    "low_flock_limit": {
      "type": "integer",
      "default": 0,
      "description": "Determines the low bound amount of entities that can be allowed in the flock.",
      "title": "Low Flock Limit"
    },
    "match_variants": {
      "type": "boolean",
      "default": false,
      "description": "Tells the flockers that they can only match similar entities that also match the variant, mark variants, and color data of the other potential flockers.",
      "title": "Match Variants"
    },
    "max_height": { "type": "number", "default": 0, "description": "The Maximum height allowable in the air or water.", "title": "Maximum Height" },
    "min_height": { "type": "number", "default": 0, "description": "The Minimum height allowable in the air or water.", "title": "Minimum Height" },
    "separation_threshold": {
      "type": "number",
      "default": 2,
      "description": "The distance that is determined to be to close to another flocking and to start applying separation.",
      "title": "Separation Threshold"
    },
    "separation_weight": {
      "type": "number",
      "default": 1,
      "description": "The weight applied to the separation of the flock.",
      "title": "Separation Weight"
    },
    "use_center_of_mass": {
      "type": "boolean",
      "default": false,
      "description": "Tells the flockers that they will follow flocks based on the center of mass.",
      "title": "Use Center Of Mass"
    }
  }
}
