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
 BehaviorStatuses, 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 SummaryNested Classes
- 
Method SummaryModifier and TypeMethodDescriptionstatic Decoratorvoidreset()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.booleanReturns whether the behavior is ready to run.static Decorator.BuilderMethods inherited from class net.citizensnpcs.api.ai.tree.BehaviorGoalAdaptercreate, run, shouldExecute
- 
Method Details- 
resetpublic void reset()Description copied from interface:GoalResets the goal and any resources or state it is holding.
- 
runDescription copied from interface:BehaviorRuns the behavior for one 'tick', optionally changing the state that it is in.- Returns:
- The new state
 
- 
shouldExecutepublic boolean shouldExecute()Description copied from interface:BehaviorReturns 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
 
-