Contents
Class BodyMotionWanderBase
java.lang.Object
com.hypixel.hytale.server.npc.corecomponents.AnnotatedComponentBase
com.hypixel.hytale.server.npc.corecomponents.MotionBase
com.hypixel.hytale.server.npc.corecomponents.BodyMotionBase
com.hypixel.hytale.server.npc.corecomponents.movement.BodyMotionWanderBase
- All Implemented Interfaces:
BodyMotion, Motion, RoleStateChange, IAnnotatedComponent
- Direct Known Subclasses:
BodyMotionWander, BodyMotionWanderInCircle, BodyMotionWanderInRect
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final HytaleLoggerstatic final doublestatic final doublestatic final float -
Constructor Summary
ConstructorsConstructorDescriptionBodyMotionWanderBase(BuilderBodyMotionWanderBase builder, BuilderSupport builderSupport) -
Method Summary
Modifier and TypeMethodDescriptionvoidactivate(Ref<EntityStore> ref, ExecutionSupport executionSupport, ComponentAccessor<EntityStore> componentAccessor) Called to activate this motionbooleancomputeSteering(Ref<EntityStore> ref, ExecutionSupport executionSupport, InfoProvider sensorInfo, double dt, Steering desiredSteering, ComponentAccessor<EntityStore> componentAccessor) Calculate desired steering for MotionController.voiddeactivate(Ref<EntityStore> ref, ExecutionSupport executionSupport, ComponentAccessor<EntityStore> componentAccessor) Called to deactivate this motionReturns the set of movement constraints that this body motion has been configured to relax, ornullfor body motions that do not support constraint relaxation.voidmotionControllerChanged(Ref<EntityStore> ref, NPCEntity npcComponent, MotionController motionController, ComponentAccessor<EntityStore> componentAccessor) Methods inherited from class AnnotatedComponentBase
getIndex, getInfo, getParent, setContextMethods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface BodyMotion
findWrappedBodyMotion, getDesiredTargetDistance, getDesiredTargetEntity, getSteeringMotionMethods inherited from interface IAnnotatedComponent
getBreadCrumbs, getBreadCrumbs, getIndex, getInfo, getLabel, getParent, setContextMethods inherited from interface Motion
preComputeSteeringMethods inherited from interface RoleStateChange
loaded, registerWithSupport, removed, spawned, teleported, unloaded
-
Field Details
-
LOGGER
-
DIRECTION_COUNT
public static final int DIRECTION_COUNT- See Also:
-
SEGMENT_ANGLE
public static final float SEGMENT_ANGLE- See Also:
-
MIN_DISTANCE_SHRINK
public static final double MIN_DISTANCE_SHRINK- See Also:
-
MIN_DISTANCE_SHRINK_SCALE
public static final double MIN_DISTANCE_SHRINK_SCALE- See Also:
-
-
Constructor Details
-
BodyMotionWanderBase
public BodyMotionWanderBase(@Nonnull BuilderBodyMotionWanderBase builder, @Nonnull BuilderSupport builderSupport)
-
-
Method Details
-
getRelaxedConstraints
Description copied from interface:BodyMotionReturns the set of movement constraints that this body motion has been configured to relax, ornullfor body motions that do not support constraint relaxation.- Returns:
- the relaxed constraint set from the motion's configuration, or
nullif not applicable
-
activate
public void activate(@Nonnull Ref<EntityStore> ref, @Nonnull ExecutionSupport executionSupport, @Nonnull ComponentAccessor<EntityStore> componentAccessor) Description copied from interface:MotionCalled to activate this motion- Parameters:
ref- The entity ref of the NPCexecutionSupport- TheExecutionSupportcomponentAccessor- The entity store for component access
-
deactivate
public void deactivate(@Nonnull Ref<EntityStore> ref, @Nonnull ExecutionSupport executionSupport, @Nonnull ComponentAccessor<EntityStore> componentAccessor) Description copied from interface:MotionCalled to deactivate this motion- Parameters:
ref- The entity refexecutionSupport- TheExecutionSupportcomponentAccessor- The component store for component access
-
motionControllerChanged
public void motionControllerChanged(@Nullable Ref<EntityStore> ref, @Nonnull NPCEntity npcComponent, @Nonnull MotionController motionController, @Nullable ComponentAccessor<EntityStore> componentAccessor) -
computeSteering
public boolean computeSteering(@Nonnull Ref<EntityStore> ref, @Nonnull ExecutionSupport executionSupport, @Nullable InfoProvider sensorInfo, double dt, @Nonnull Steering desiredSteering, @Nonnull ComponentAccessor<EntityStore> componentAccessor) Description copied from interface:MotionCalculate desired steering for MotionController.- Parameters:
ref- The entity refexecutionSupport- TheExecutionSupportsensorInfo- SensorInfo with PositionProvider, PathProvider, etc. if requireddt- The interval in seconds for this calculationdesiredSteering- The computed steering force for the MotionControllercomponentAccessor- The entity store- Returns:
falsewhen the end condition has been reached,trueif must be called again to reach end condition or is infinite.
-