Class DruidCombatAI

All Implemented Interfaces:
IStateAI

public class DruidCombatAI extends AttackMoveAI<EntityCitizen>
Druid combat AI
  • Field Details

    • POTION_VELOCITY

      public static final float POTION_VELOCITY
      Potion velocity.
      See Also:
  • Constructor Details

  • Method Details

    • doAttack

      protected void doAttack(net.minecraft.world.entity.LivingEntity target)
      Description copied from class: AttackMoveAI
      The actual attack triggered on the target
      Overrides:
      doAttack in class AttackMoveAI<EntityCitizen>
      Parameters:
      target -
    • getAttackDelay

      protected int getAttackDelay()
      Description copied from class: AttackMoveAI
      Get the delay to next attack in ticks
      Overrides:
      getAttackDelay in class AttackMoveAI<EntityCitizen>
      Returns:
      default 40 ticks
    • getAttackDistance

      protected double getAttackDistance()
      Description copied from class: AttackMoveAI
      Get the attack distance
      Overrides:
      getAttackDistance in class AttackMoveAI<EntityCitizen>
      Returns:
      distance in blocks
    • moveInAttackPosition

      protected PathResult moveInAttackPosition(net.minecraft.world.entity.LivingEntity target)
      Description copied from class: AttackMoveAI
      Movement to get into attack position
      Overrides:
      moveInAttackPosition in class AttackMoveAI<EntityCitizen>
      Parameters:
      target - target to move towards
      Returns:
      path result
    • getCombatMovementSpeed

      protected double getCombatMovementSpeed()
      Get combat speed
      Returns:
      movent speed
    • isAttackableTarget

      protected boolean isAttackableTarget(net.minecraft.world.entity.LivingEntity entity)
      Description copied from class: TargetAI
      Whether the target is attackable
      Overrides:
      isAttackableTarget in class TargetAI<EntityCitizen>
      Parameters:
      entity -
      Returns:
    • searchNearbyTarget

      protected boolean searchNearbyTarget()
      Description copied from class: TargetAI
      Get a target for the guard. First check if we're under attack by anything and switch target if necessary.
      Overrides:
      searchNearbyTarget in class TargetAI<EntityCitizen>
      Returns:
      The next IAIState to go to.
    • isWithinPersecutionDistance

      protected boolean isWithinPersecutionDistance(net.minecraft.world.entity.LivingEntity target)
      Description copied from class: TargetAI
      Check if the target is within chasing distance
      Overrides:
      isWithinPersecutionDistance in class TargetAI<EntityCitizen>
      Parameters:
      target -
      Returns:
    • skipSearch

      protected boolean skipSearch(net.minecraft.world.entity.LivingEntity entity)
      Description copied from class: TargetAI
      Skips the search if true
      Overrides:
      skipSearch in class TargetAI<EntityCitizen>
      Parameters:
      entity - checked entity
      Returns:
      true if skip
    • getYSearchRange

      protected int getYSearchRange()
      Description copied from class: TargetAI
      Get the Y search range
      Overrides:
      getYSearchRange in class TargetAI<EntityCitizen>
      Returns:
    • onTargetDied

      protected void onTargetDied(net.minecraft.world.entity.LivingEntity entity)
      Description copied from class: TargetAI
      When our previous target has died
      Overrides:
      onTargetDied in class TargetAI<EntityCitizen>
      Parameters:
      entity -