Interface GoalExecutor<O extends Agent>
- Type Parameters:
 O- The type of agent
public interface GoalExecutor<O extends Agent>
Represents a set of goals that will be updated together by an 
Agent.
 In Minecraft, most agents "live" by performing goals of their simulation (while sometimes using specialized "targeting" goals for logic).
- 
Method Summary
Modifier and TypeMethodDescriptionAdds a newGoalto this goal.voidclear()Clears allGoals from this goal.owner()TheAgentthat owns this goal.removeGoal(Goal<? extends O> goal) Removes a specificGoalfrom this goal.removeGoals(GoalType type) tasks()Gets allGoals in this goal.tasksByType(GoalType type) type()The type of this goal. 
- 
Method Details
- 
type
GoalExecutorType type()The type of this goal.- Returns:
 - The type
 
 - 
owner
O owner()TheAgentthat owns this goal.- Returns:
 - The owner
 
 - 
addGoal
Adds a newGoalto this goal.- Parameters:
 priority- The priority this task should run atgoal- The goal to run- Returns:
 - This goal, for chaining
 
 - 
removeGoal
Removes a specificGoalfrom this goal.- Parameters:
 goal- The goal to remove- Returns:
 - This goal, for chaining
 
 - 
removeGoals
- Parameters:
 type- The type to remove- Returns:
 - The goal, for chaining
 
 - 
tasksByType
- Parameters:
 type- The type to look for- Returns:
 - All the tasks found
 
 - 
tasks
Gets allGoals in this goal.- Returns:
 - The tasks
 
 - 
clear
void clear()Clears allGoals from this goal. 
 -