Package net.citizensnpcs.api.ai.tree
Class Decorator
java.lang.Object
net.citizensnpcs.api.ai.tree.BehaviorGoalAdapter
net.citizensnpcs.api.ai.tree.Decorator
A decorator is a wrapper over a
Behavior
, which can add functionality such as filtering
BehaviorStatus
es, conditions, timer loops and more without knowing the internals of the behavior it wraps.
Note that there are often simpler alternatives to a full-blown decorator, which has to be generic for many different
scenarios.-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic Decorator
void
reset()
Resets the goal and any resources or state it is holding.run()
Runs the behavior for one 'tick', optionally changing the state that it is in.boolean
Returns whether the behavior is ready to run.static Decorator.Builder
Methods inherited from class net.citizensnpcs.api.ai.tree.BehaviorGoalAdapter
create, run, shouldExecute
-
Method Details
-
reset
public void reset()Description copied from interface:Goal
Resets the goal and any resources or state it is holding. -
run
Description copied from interface:Behavior
Runs the behavior for one 'tick', optionally changing the state that it is in.- Returns:
- The new state
-
shouldExecute
public boolean shouldExecute()Description copied from interface:Behavior
Returns whether the behavior is ready to run. Note this is called once when deciding whether to start execution of a leaf node. The actual execution status is determined by the return value ofBehavior.run()
which is repeatedly called by the executing node. -
invert
- Returns:
- Returns a decorator that inverts the status i.e. SUCCESS becomes FAILURE, FAILURE becomes SUCCESS and others are untouched.
-
wrapping
-