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

java.lang.Object
net.minecraft.world.entity.ai.goal.Goal
com.binaris.wizardry.content.entity.goal.AttackSpellBasicGoal<T>

public class AttackSpellBasicGoal<T extends net.minecraft.world.entity.Mob & ISpellCaster> extends net.minecraft.world.entity.ai.goal.Goal
Basic version of AttackSpellGoal that can be used by most spell-casting mobs without checking movement or look controls, leaving those to other goals. This class handles spell selection, cooldowns, and casting logic. It attempts to cast a random spell from the mob's spell list when the cooldown expires, provided the target is within range and visible. It supports both instant and continuous spells.
  • 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
    AttackSpellBasicGoal(T attacker, float maxDistance, int baseCooldown, int continuousSpellDuration)
    Default constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    boolean
     
    boolean
     
    void
     
    void
     

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

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

    Methods inherited from class java.lang.Object

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

    • AttackSpellBasicGoal

      public AttackSpellBasicGoal(T attacker, float maxDistance, int baseCooldown, int continuousSpellDuration)
      Default constructor.
      Parameters:
      attacker - Mob that will use this goal
      maxDistance - Maximum distance to the target for casting spells
      baseCooldown - Base cooldown between spell casts
      continuousSpellDuration - Duration for continuous spells
  • Method Details

    • requiresUpdateEveryTick

      public boolean requiresUpdateEveryTick()
      Overrides:
      requiresUpdateEveryTick in class net.minecraft.world.entity.ai.goal.Goal
    • 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