Class AttackSpellGoal<T extends net.minecraft.world.entity.Mob & ISpellCaster>

java.lang.Object
net.minecraft.world.entity.ai.goal.Goal
com.binaris.wizardry.content.entity.goal.AttackSpellGoal<T>
Type Parameters:
T - The type of mob that is also a spell caster.

public class AttackSpellGoal<T extends net.minecraft.world.entity.Mob & ISpellCaster> extends net.minecraft.world.entity.ai.goal.Goal
A goal which allows a spell-casting mob to attack its target with spells. The mob will move towards the target until it is within a specified distance and has line of sight, at which point it will stop and cast spells at it. It can cast both instant and continuous spells.

For reference (specially related to continuous spells), check AbstractWizard for an example of how to implement the ISpellCaster and handle spell casting properly.

  • Nested Class Summary

    Nested classes/interfaces inherited from class net.minecraft.world.entity.ai.goal.Goal

    net.minecraft.world.entity.ai.goal.Goal.Flag
  • Constructor Summary

    Constructors
    Constructor
    Description
    AttackSpellGoal(T attacker, double speed, float maxDistance, int baseCooldown, int continuousSpellDuration)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    boolean
     
    void
     
    void
     

    Methods inherited from class net.minecraft.world.entity.ai.goal.Goal

    adjustedTickDelay, getFlags, isInterruptable, reducedTickDelay, requiresUpdateEveryTick, setFlags, start, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • AttackSpellGoal

      public AttackSpellGoal(T attacker, double speed, float maxDistance, int baseCooldown, int continuousSpellDuration)
  • Method Details

    • canUse

      public boolean canUse()
      Specified by:
      canUse in class net.minecraft.world.entity.ai.goal.Goal
    • canContinueToUse

      public boolean canContinueToUse()
      Overrides:
      canContinueToUse in class net.minecraft.world.entity.ai.goal.Goal
    • stop

      public void stop()
      Overrides:
      stop in class net.minecraft.world.entity.ai.goal.Goal
    • tick

      public void tick()
      Overrides:
      tick in class net.minecraft.world.entity.ai.goal.Goal