Class GoalController<T extends Entity>

java.lang.Object
me.arcademadness.omni_dungeon.controllers.AbstractController<T>
me.arcademadness.omni_dungeon.controllers.GoalController<T>
Type Parameters:
T - the type of mob that will use this controller
All Implemented Interfaces:
Controller
Direct Known Subclasses:
BeeController, MobController

public abstract class GoalController<T extends Entity> extends AbstractController<T>
Provides ControlIntents based on Goals rather than hard coded logic.
  • Constructor Details

    • GoalController

      public GoalController()
  • Method Details

    • addGoal

      public void addGoal(Goal<T> goal)
    • getIntent

      public Optional<ControlIntent> getIntent()
      Description copied from interface: Controller
      Retrieves the current control intent, if one is available.

      The returned Optional may be empty if there is no intent to process at the current moment.

      Returns:
      an Optional containing the current ControlIntent, or empty if no intent is present
    • hasGoal

      public <G extends Goal<?>> boolean hasGoal(Class<G> goalClass)
    • removeGoal

      public void removeGoal(Goal<T> goal)
    • removeGoal

      public <G extends Goal<?>> void removeGoal(Class<G> goalClass)