Class RangedAttackGoal
java.lang.Object
net.minestom.server.entity.ai.GoalSelector
net.minestom.server.entity.ai.goal.RangedAttackGoal
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceThe function used to generate a projectile. -
Field Summary
Fields inherited from class net.minestom.server.entity.ai.GoalSelector
entityCreature -
Constructor Summary
ConstructorsConstructorDescriptionRangedAttackGoal(@NotNull EntityCreature entityCreature, int delay, int attackRange, int desirableRange, boolean comeClose, double power, double spread, @NotNull TemporalUnit timeUnit) RangedAttackGoal(@NotNull EntityCreature entityCreature, Duration delay, int attackRange, int desirableRange, boolean comeClose, double power, double spread) -
Method Summary
Modifier and TypeMethodDescriptionvoidend()Ends thisGoalSelector.voidsetProjectileGenerator(Function<Entity, EntityProjectile> projectileGenerator) voidsetProjectileGenerator(RangedAttackGoal.ProjectileGenerator projectileGenerator) booleanWhether or not thisGoalSelectorshould end.booleanWhether or not thisGoalSelectorshould start.voidstart()Starts thisGoalSelector.voidtick(long time) Called every tick when thisGoalSelectoris running.Methods inherited from class net.minestom.server.entity.ai.GoalSelector
findTarget, getAIGroup, getEntityCreature, setEntityCreature
-
Constructor Details
-
RangedAttackGoal
public RangedAttackGoal(@NotNull @NotNull EntityCreature entityCreature, int delay, int attackRange, int desirableRange, boolean comeClose, double power, double spread, @NotNull @NotNull TemporalUnit timeUnit) - Parameters:
entityCreature- the entity to add the goal to.delay- the delay between each shots.attackRange- the allowed range the entity can shoot others.desirableRange- the desirable range: the entity will try to stay no further than this distance.comeClose- whether entity should go as close as possible to the target whether target is not in line of sight.power- shot power (1 for normal).spread- shot spread (0 for best accuracy).timeUnit- the unit of the delay.
-
RangedAttackGoal
public RangedAttackGoal(@NotNull @NotNull EntityCreature entityCreature, Duration delay, int attackRange, int desirableRange, boolean comeClose, double power, double spread) - Parameters:
entityCreature- the entity to add the goal to.delay- the delay between each shots.attackRange- the allowed range the entity can shoot others.desirableRange- the desirable range: the entity will try to stay no further than this distance.comeClose- whether entity should go as close as possible to the target whether target is not in line of sight.power- shot power (1 for normal).spread- shot spread (0 for best accuracy).
-
-
Method Details
-
getCooldown
-
setProjectileGenerator
-
setProjectileGenerator
-
shouldStart
public boolean shouldStart()Description copied from class:GoalSelectorWhether or not thisGoalSelectorshould start.- Specified by:
shouldStartin classGoalSelector- Returns:
- true to start
-
start
public void start()Description copied from class:GoalSelectorStarts thisGoalSelector.- Specified by:
startin classGoalSelector
-
tick
public void tick(long time) Description copied from class:GoalSelectorCalled every tick when thisGoalSelectoris running.- Specified by:
tickin classGoalSelector- Parameters:
time- the time of the update in milliseconds
-
shouldEnd
public boolean shouldEnd()Description copied from class:GoalSelectorWhether or not thisGoalSelectorshould end.- Specified by:
shouldEndin classGoalSelector- Returns:
- true to end
-
end
public void end()Description copied from class:GoalSelectorEnds thisGoalSelector.- Specified by:
endin classGoalSelector
-