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
ConstructorsConstructorDescriptionAttackSpellGoal(T attacker, double speed, float maxDistance, int baseCooldown, int continuousSpellDuration) -
Method Summary
Methods inherited from class net.minecraft.world.entity.ai.goal.Goal
adjustedTickDelay, getFlags, isInterruptable, reducedTickDelay, requiresUpdateEveryTick, setFlags, start, toString
-
Constructor Details
-
AttackSpellGoal
public AttackSpellGoal(T attacker, double speed, float maxDistance, int baseCooldown, int continuousSpellDuration)
-
-
Method Details
-
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
-