Package com.destroystokyo.paper.entity.ai

# Interface MobGoals

public interface MobGoals
Represents a part of the "brain" of a mob. It tracks all tasks (running or not), allows adding and removing goals

## Method Summary

Modifier and Type
Method
Description
`<T extends Mob>
void`
`addGoal(T mob, int priority, @NotNull Goal<T> goal)`
`<T extends Mob>
@NotNull Collection<Goal<T>>`
`getAllGoals(T mob)`
`<T extends Mob>
@NotNull Collection<Goal<T>>`
`getAllGoals(T mob, @NotNull GoalType type)`
`<T extends Mob>
@NotNull Collection<Goal<T>>`
`getAllGoalsWithout(T mob, @NotNull GoalType type)`
`<T extends Mob>
@Nullable Goal<T>`
`getGoal(T mob, @NotNull GoalKey<T> key)`
`<T extends Mob>
@NotNull Collection<Goal<T>>`
`getGoals(T mob, @NotNull GoalKey<T> key)`
`<T extends Mob>
@NotNull Collection<Goal<T>>`
`getRunningGoals(T mob)`
`<T extends Mob>
@NotNull Collection<Goal<T>>`
`getRunningGoals(T mob, @NotNull GoalType type)`
`<T extends Mob>
@NotNull Collection<Goal<T>>`
`getRunningGoalsWithout(T mob, @NotNull GoalType type)`
`<T extends Mob>
boolean`
`hasGoal(T mob, @NotNull GoalKey<T> key)`
`<T extends Mob>
void`
`removeAllGoals(T mob)`
`<T extends Mob>
void`
`removeAllGoals(T mob, @NotNull GoalType type)`
`<T extends Mob>
void`
`removeGoal(T mob, @NotNull Goal<T> goal)`
`<T extends Mob>
void`
`removeGoal(T mob, @NotNull GoalKey<T> key)`

## Method Details

### addGoal

<T extends Mob> void addGoal(@NotNull T mob, int priority, @NotNull @NotNull Goal<T> goal)

### removeGoal

<T extends Mob> void removeGoal(@NotNull T mob, @NotNull @NotNull Goal<T> goal)

### removeAllGoals

<T extends Mob> void removeAllGoals(@NotNull T mob)

### removeAllGoals

<T extends Mob> void removeAllGoals(@NotNull T mob, @NotNull @NotNull GoalType type)

### removeGoal

<T extends Mob> void removeGoal(@NotNull T mob, @NotNull @NotNull GoalKey<T> key)

### hasGoal

<T extends Mob> boolean hasGoal(@NotNull T mob, @NotNull @NotNull GoalKey<T> key)

### getGoal

@Nullable <T extends Mob> @Nullable Goal<T> getGoal(@NotNull T mob, @NotNull @NotNull GoalKey<T> key)

### getGoals

@NotNull <T extends Mob> @NotNull Collection<Goal<T>> getGoals(@NotNull T mob, @NotNull @NotNull GoalKey<T> key)

### getAllGoals

@NotNull <T extends Mob> @NotNull Collection<Goal<T>> getAllGoals(@NotNull T mob)

### getAllGoals

@NotNull <T extends Mob> @NotNull Collection<Goal<T>> getAllGoals(@NotNull T mob, @NotNull @NotNull GoalType type)

### getAllGoalsWithout

@NotNull <T extends Mob> @NotNull Collection<Goal<T>> getAllGoalsWithout(@NotNull T mob, @NotNull @NotNull GoalType type)

### getRunningGoals

@NotNull <T extends Mob> @NotNull Collection<Goal<T>> getRunningGoals(@NotNull T mob)

### getRunningGoals

@NotNull <T extends Mob> @NotNull Collection<Goal<T>> getRunningGoals(@NotNull T mob, @NotNull @NotNull GoalType type)

### getRunningGoalsWithout

@NotNull <T extends Mob> @NotNull Collection<Goal<T>> getRunningGoalsWithout(@NotNull T mob, @NotNull @NotNull GoalType type)