# BoidRule(bpy_struct)

base class — `bpy_struct`

subclasses — `BoidRuleAverageSpeed`, `BoidRuleAvoid`, `BoidRuleAvoidCollision`, `BoidRuleFight`, `BoidRuleFollowLeader`, `BoidRuleGoal`

class `bpy.types.``BoidRule`(bpy_struct)
  `name`

    Boid rule name

    Type: | string, default “”, (never None)

  `type`
    - `GOAL` Goal, Go to assigned object or loudest assigned signal source.
    - `AVOID` Avoid, Get away from assigned object or loudest assigned signal source.
    - `AVOID_COLLISION` Avoid Collision, Maneuver to avoid collisions with other boids and deflector objects in near future.
    - `SEPARATE` Separate, Keep from going through other boids.
    - `FLOCK` Flock, Move to center of neighbors and match their velocity.
    - `FOLLOW_LEADER` Follow Leader, Follow a boid or assigned object.
    - `AVERAGE_SPEED` Average Speed, Maintain speed, flight level or wander.
    - `FIGHT` Fight, Go to closest enemy and attack when in range.

    Type: | enum in [‘GOAL’, ‘AVOID’, ‘AVOID_COLLISION’, ‘SEPARATE’, ‘FLOCK’, ‘FOLLOW_LEADER’, ‘AVERAGE_SPEED’, ‘FIGHT’], default ‘GOAL’, (readonly)

  `use_in_air`

    Use rule when boid is flying

    Type: | boolean, default False

  `use_on_land`

    Use rule when boid is on land

    Type: | boolean, default False

  classmethod `bl_rna_get_subclass`(id, default=None)

    Parameters: | id (string) – The RNA type identifier.
    Returns: | The RNA type or default when not found.
    Return type: | `bpy.types.Struct` subclass

  classmethod `bl_rna_get_subclass_py`(id, default=None)

    Parameters: | id (string) – The RNA type identifier.
    Returns: | The class or default when not found.
    Return type: | type

Inherited Properties

`bpy_struct.id_data` |

Inherited Functions

`bpy_struct.as_pointer` `bpy_struct.driver_add` `bpy_struct.driver_remove` `bpy_struct.get` `bpy_struct.is_property_hidden` `bpy_struct.is_property_overridable_library` `bpy_struct.is_property_readonly` `bpy_struct.is_property_set` `bpy_struct.items` `bpy_struct.keyframe_delete` | `bpy_struct.keyframe_insert` `bpy_struct.keys` `bpy_struct.path_from_id` `bpy_struct.path_resolve` `bpy_struct.pop` `bpy_struct.property_overridable_library_set` `bpy_struct.property_unset` `bpy_struct.type_recast` `bpy_struct.values`

References

`BoidSettings.active_boid_state` `BoidState.active_boid_rule` | `BoidState.rules`