Class NearestAttackableTargetGoal<T extends LivingEntity>

java.lang.Object
net.minecraft.world.entity.ai.goal.Goal
net.minecraft.world.entity.ai.goal.target.TargetGoal
net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal<T>
Direct Known Subclasses:
Bee.BeeBecomeAngryTargetGoal, EnderMan.EndermanLookForPlayerGoal, Fox.DefendTrustedTargetGoal, Llama.LlamaAttackWolfGoal, NearestAttackableWitchTargetGoal, NearestHealableRaiderTargetGoal, NonTameRandomTargetGoal, PolarBear.PolarBearAttackPlayersGoal, Shulker.ShulkerDefenseAttackGoal, Shulker.ShulkerNearestAttackGoal, Spider.SpiderTargetGoal, Vindicator.VindicatorJohnnyAttackGoal

public class NearestAttackableTargetGoal<T extends LivingEntity> extends TargetGoal
  • Field Details

    • DEFAULT_RANDOM_INTERVAL

      private static final int DEFAULT_RANDOM_INTERVAL
      See Also:
    • targetType

      protected final Class<T extends LivingEntity> targetType
    • randomInterval

      protected final int randomInterval
    • target

      @Nullable protected LivingEntity target
    • targetConditions

      protected TargetingConditions targetConditions
      This filter is applied to the Entity search. Only matching entities will be targeted.
  • Constructor Details

    • NearestAttackableTargetGoal

      public NearestAttackableTargetGoal(Mob pMob, Class<T> pTargetType, boolean pMustSee)
    • NearestAttackableTargetGoal

      public NearestAttackableTargetGoal(Mob pMob, Class<T> pTargetType, boolean pMustSee, Predicate<LivingEntity> pTargetPredicate)
    • NearestAttackableTargetGoal

      public NearestAttackableTargetGoal(Mob pMob, Class<T> pTargetType, boolean pMustSee, boolean pMustReach)
    • NearestAttackableTargetGoal

      public NearestAttackableTargetGoal(Mob pMob, Class<T> pTargetType, int pRandomInterval, boolean pMustSee, boolean pMustReach, @Nullable Predicate<LivingEntity> pTargetPredicate)
  • Method Details

    • canUse

      public boolean canUse()
      Specified by:
      canUse in class Goal
    • getTargetSearchArea

      protected AABB getTargetSearchArea(double pTargetDistance)
    • findTarget

      protected void findTarget()
    • start

      public void start()
      Overrides:
      start in class TargetGoal
    • setTarget

      public void setTarget(@Nullable LivingEntity pTarget)