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
ConstructorsConstructorDescriptionAttackSpellBasicGoal(T attacker, float maxDistance, int baseCooldown, int continuousSpellDuration) Default constructor. -
Method Summary
Methods inherited from class net.minecraft.world.entity.ai.goal.Goal
adjustedTickDelay, getFlags, isInterruptable, reducedTickDelay, setFlags, start, toString
-
Constructor Details
-
AttackSpellBasicGoal
public AttackSpellBasicGoal(T attacker, float maxDistance, int baseCooldown, int continuousSpellDuration) Default constructor.- Parameters:
attacker- Mob that will use this goalmaxDistance- Maximum distance to the target for casting spellsbaseCooldown- Base cooldown between spell castscontinuousSpellDuration- Duration for continuous spells
-
-
Method Details
-
requiresUpdateEveryTick
public boolean requiresUpdateEveryTick()- Overrides:
requiresUpdateEveryTickin classnet.minecraft.world.entity.ai.goal.Goal
-
canUse
public boolean canUse()- Specified by:
canUsein classnet.minecraft.world.entity.ai.goal.Goal
-
canContinueToUse
public boolean canContinueToUse()- Overrides:
canContinueToUsein classnet.minecraft.world.entity.ai.goal.Goal
-
stop
public void stop()- Overrides:
stopin classnet.minecraft.world.entity.ai.goal.Goal
-
tick
public void tick()- Overrides:
tickin classnet.minecraft.world.entity.ai.goal.Goal
-