net.minecraft.entity.ai

## Class EntityAIBase

- java.lang.Object
- - net.minecraft.entity.ai.EntityAIBase

- Direct Known Subclasses:
    EntityAIArrowAttack, EntityAIAttackOnCollide, EntityAIAvoidEntity, EntityAIBeg, EntityAIControlledByPlayer, EntityAICreeperSwell, EntityAIDoorInteract, EntityAIEatGrass, EntityAIFleeSun, EntityAIFollowGolem, EntityAIFollowOwner, EntityAIFollowParent, EntityAILeapAtTarget, EntityAILookAtVillager, EntityAILookIdle, EntityAIMate, EntityAIMoveIndoors, EntityAIMoveThroughVillage, EntityAIMoveTowardsTarget, EntityAIMoveTwardsRestriction, EntityAIOcelotAttack, EntityAIOcelotSit, EntityAIPanic, EntityAIPlay, EntityAIRestrictOpenDoor, EntityAIRestrictSun, EntityAISit, EntityAISwimming, EntityAITarget, EntityAITempt, EntityAITradePlayer, EntityAIVillagerMate, EntityAIWander, EntityAIWatchClosest

      public abstract class EntityAIBase
      extends Object

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `EntityAIBase()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `continueExecuting()` Returns whether an in-progress EntityAIBase should continue executing
    `int` | `getMutexBits()` Get a bitmask telling which other tasks may not run concurrently.
    `boolean` | `isInterruptible()` Determine if this AI Task is interruptible by a higher (= lower value) priority task.
    `void` | `resetTask()` Resets the task
    `void` | `setMutexBits(int par1)` Sets a bitmask telling which other tasks may not run concurrently.
    `abstract boolean` | `shouldExecute()` Returns whether the EntityAIBase should begin execution.
    `void` | `startExecuting()` Execute a one shot task or start executing a continuous task
    `void` | `updateTask()` Updates the task

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### EntityAIBase

          public EntityAIBase()

  - ### Method Detail

    - #### shouldExecute

          public abstract boolean shouldExecute()

      Returns whether the EntityAIBase should begin execution.

    - #### continueExecuting

          public boolean continueExecuting()

      Returns whether an in-progress EntityAIBase should continue executing

    - #### isInterruptible

          public boolean isInterruptible()

      Determine if this AI Task is interruptible by a higher (= lower value) priority task.

    - #### startExecuting

          public void startExecuting()

      Execute a one shot task or start executing a continuous task

    - #### resetTask

          public void resetTask()

      Resets the task

    - #### updateTask

          public void updateTask()

      Updates the task

    - #### setMutexBits

          public void setMutexBits(int par1)

      Sets a bitmask telling which other tasks may not run concurrently. The test is a simple bitwise AND - if it yields zero, the two tasks may run concurrently, if not - they must run exclusively from each other.

    - #### getMutexBits

          public int getMutexBits()

      Get a bitmask telling which other tasks may not run concurrently. The test is a simple bitwise AND - if it yields zero, the two tasks may run concurrently, if not - they must run exclusively from each other.