Class MotionControllerBase
java.lang.Object
com.hypixel.hytale.server.npc.movement.controllers.MotionControllerBase
- All Implemented Interfaces:
com.hypixel.hytale.server.npc.movement.controllers.MotionController
- Direct Known Subclasses:
MotionControllerDive,MotionControllerFly,MotionControllerWalk
public abstract class MotionControllerBase
extends Object
implements com.hypixel.hytale.server.npc.movement.controllers.MotionController
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface com.hypixel.hytale.server.npc.movement.controllers.MotionController
com.hypixel.hytale.server.npc.movement.controllers.MotionController.VerticalRange -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Vector3dprotected final List<MotionControllerBase.AppliedVelocity> private final Vector3dprivate final Vector3dstatic final doubleprotected final Vector3dprotected final Vector3dprotected doubleprotected Vector3dprotected doubleprotected booleanprotected final Boxprotected final CollisionResultprotected final Vector3dstatic final booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanstatic final doublestatic final doubleprotected doubleprotected booleanprotected booleanprotected final NPCEntityprotected final floatprotected final doubleprotected booleanprotected final doubleprotected final doublestatic final doublestatic final doubleprotected final Vector3dprotected final doubleprotected doubleprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected doubleprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected doubleprotected MotionKindprotected final Vector3dprotected static final com.hypixel.hytale.logger.HytaleLoggerprotected final floatprotected final doubleprotected MotionKindprotected MovementSettingsprotected doubleprotected NavStateprivate floatprotected final Vector3dprotected final Vector3dprotected Vector3dprotected MotionKindprotected doubleprivate booleanprotected booleanprotected booleanprotected booleanprotected Roleprivate floatprotected doubleprotected doubleprotected final Vector3dprotected final Stringprotected final Vector3dprotected final Vector3dprivate float -
Constructor Summary
ConstructorsConstructorDescriptionMotionControllerBase(BuilderSupport builderSupport, BuilderMotionControllerBase builder) -
Method Summary
Modifier and TypeMethodDescriptionvoidactivate()voidaddForce(Vector3d force, VelocityConfig velocityConfig) protected voidadjustReadPosition(Ref<EntityStore> ref, ComponentAccessor<EntityStore> componentAccessor) protected voidadjustWritePosition(Ref<EntityStore> ref, double dt, ComponentAccessor<EntityStore> componentAccessor) voidbeforeInstructionMotion(double physicsTickDuration) voidbeforeInstructionSensorsAndActions(double physicsTickDuration) <T> doublebisect(Vector3d validPosition, Vector3d invalidPosition, T t, BiPredicate<T, Vector3d> validate, double maxDistance, Vector3d result) <T> doublebisect(Vector3d validPosition, Vector3d invalidPosition, T t, BiPredicate<T, Vector3d> validate, Vector3d result) protected floatblendBodyYaw(Ref<EntityStore> ref, float yawOffset, float maxBodyRotation, ComponentAccessor<EntityStore> componentAccessor) protected voidcalculatePitch(Ref<EntityStore> ref, Steering bodySteering, Steering headSteering, float maxHeadRotation, ComponentAccessor<EntityStore> componentAccessor) protected voidcalculateRoll(Steering bodySteering, Steering headSteering) protected voidcalculateYaw(Ref<EntityStore> ref, Steering bodySteering, Steering headSteering, float maxHeadRotation, float maxBodyRotation, ComponentAccessor<EntityStore> componentAccessor) booleancanAct(Ref<EntityStore> ref, ComponentAccessor<EntityStore> componentAccessor) voidvoidvoidvoidprotected abstract doublecomputeMove(Ref<EntityStore> var1, Role var2, Steering var3, double var4, Vector3d var6, ComponentAccessor<EntityStore> var7) private static doubleconvertToNewRange(double value, double oldMinRange, double oldMaxRange, double newMinRange, double newMaxRange) protected voiddampForceVelocity(Vector3d forceVelocity, double forceVelocityDamping, double interval, ComponentAccessor<EntityStore> componentAccessor) voidprotected voidvoidvoidenableHeadingBlending(double heading, Vector3d targetPosition, double blendLevel) protected abstract doubleexecuteMove(Ref<EntityStore> var1, Role var2, double var3, Vector3d var5, ComponentAccessor<EntityStore> var6) voidforceVelocity(Vector3d velocity, VelocityConfig velocityConfig, boolean ignoreDamping) floatdoublegetForce()doubleintfloatgetPitch()getRole()floatgetRoll()doubledoublefloatgetYaw()protected booleanisAlive(Ref<EntityStore> ref, ComponentAccessor<EntityStore> componentAccessor) booleanprotected booleanisDebugMode(RoleDebugFlags mode) protected abstract booleanisFastMotionKind(double var1) booleanbooleanisHorizontalIdle(double speed) booleanbooleanisMovementBlocked(Ref<EntityStore> ref, ComponentAccessor<EntityStore> componentAccessor) booleanbooleanbooleanbooleanbooleanbooleanisValidPosition(Vector3d position, ComponentAccessor<EntityStore> componentAccessor) booleanisValidPosition(Vector3d position, CollisionResult collisionResult, ComponentAccessor<EntityStore> componentAccessor) voidmoveEntity(Ref<EntityStore> ref, double dt, ComponentAccessor<EntityStore> componentAccessor) protected voidvoidpostReadPosition(Ref<EntityStore> ref, ComponentAccessor<EntityStore> componentAccessor) doubleprobeMove(Ref<EntityStore> ref, Vector3d position, Vector3d direction, ProbeMoveData probeMoveData, ComponentAccessor<EntityStore> componentAccessor) voidprocessTriggers(Ref<EntityStore> ref, CollisionResult collisionResult, double t, ComponentAccessor<EntityStore> componentAccessor) protected voidreadEntityPosition(Ref<EntityStore> ref, ComponentAccessor<EntityStore> componentAccessor) voidvoidrequirePreciseMovement(Vector3d positionHint) voidvoidprotected voidvoidsetAvoidingBlockDamage(boolean avoid) voidsetComponentSelector(Vector3d componentSelector) voidsetEnableBlockDamage(boolean enableBlockDamage) voidsetEnableTriggers(boolean enableTriggers) voidsetForceRecomputePath(boolean recomputePath) voidsetGravity(double gravity) voidsetInertia(double inertia) voidsetKnockbackScale(double knockbackScale) voidsetMotionKind(MotionKind motionKind) voidsetNavState(NavState navState, double throttleDuration, double targetDeltaSquared) voidsetRelaxedMoveConstraints(boolean relax) voidprotected booleanprotected booleanbooleanstandingOnBlockOfType(int blockSet) doublesteer(Ref<EntityStore> ref, Role role, Steering bodySteering, Steering headSteering, double interval, ComponentAccessor<EntityStore> componentAccessor) doublesteer0(Ref<EntityStore> ref, Role role, Steering bodySteering, Steering headSteering, double interval, ComponentAccessor<EntityStore> componentAccessor) protected booleanswitchedToMotionKind(MotionKind motionKind) booleantouchesWater(boolean defaultValue, ComponentAccessor<EntityStore> componentAccessor) booleantranslateToAccessiblePosition(Vector3d position, Box boundingBox, double minYValue, double maxYValue, ComponentAccessor<EntityStore> componentAccessor) protected voidupdateAscendingStates(Ref<EntityStore> ref, MovementStates movementStates, boolean fastMotionKind, boolean horizontalIdleKind, ComponentAccessor<EntityStore> componentAccessor) protected voidupdateDescendingStates(Ref<EntityStore> ref, MovementStates movementStates, boolean fastMotionKind, boolean hovering, ComponentAccessor<EntityStore> componentAccessor) protected voidupdateDroppingStates(MovementStates movementStates) protected voidupdateFlyingStates(MovementStates movementStates, boolean idle, boolean fastMotionKind) voidupdateModelParameters(Ref<EntityStore> ref, Model model, Box boundingBox, ComponentAccessor<EntityStore> componentAccessor) voidupdateMovementState(Ref<EntityStore> ref, MovementStates movementStates, Steering steering, Vector3d velocity, ComponentAccessor<EntityStore> componentAccessor) protected static voidupdateMovingStates(Ref<EntityStore> ref, MovementStates movementStates, boolean fastMotionKind, ComponentAccessor<EntityStore> componentAccessor) voidupdatePhysicsValues(PhysicsValues values) protected voidupdateStandingStates(MovementStates movementStates, MotionKind motionKind, boolean hovering) protected voidupdateSwimmingStates(MovementStates movementStates, boolean idle, boolean fastMotionKind, boolean horizontalIdleKind) doublewaypointDistance(Ref<EntityStore> ref, Vector3d p, ComponentAccessor<EntityStore> componentAccessor) doublewaypointDistance(Vector3d p, Vector3d q) doublewaypointDistanceSquared(Ref<EntityStore> ref, Vector3d p, ComponentAccessor<EntityStore> componentAccessor) doublebooleanMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.hypixel.hytale.server.npc.movement.controllers.MotionController
canRestAtPlace, clearOverrides, constrainRotations, estimateVelocity, getCurrentMaxBodyRotationSpeed, getCurrentSpeed, getCurrentTurnRadius, getDesiredAltitudeWeight, getDesiredVerticalRange, getHeightOverGround, getMaxClimbAngle, getMaximumSpeed, getMaxSinkAngle, getSquaredDistance, getType, getWanderVerticalMovementRatio, inAir, inWater, is2D, matchesType, onGround, probeMove, spawned
-
Field Details
-
FORCE_SCALE
public static final double FORCE_SCALE- See Also:
-
BISECT_DIST
public static final double BISECT_DIST- See Also:
-
FILTER_COEFFICIENT
public static final double FILTER_COEFFICIENT- See Also:
-
DOT_PRODUCT_EPSILON
public static final double DOT_PRODUCT_EPSILON- See Also:
-
DEFAULT_BLOCK_DRAG
public static final double DEFAULT_BLOCK_DRAG- See Also:
-
LOGGER
protected static final com.hypixel.hytale.logger.HytaleLogger LOGGER -
DEBUG_APPLIED_FORCES
public static final boolean DEBUG_APPLIED_FORCES- See Also:
-
entity
-
type
-
epsilonSpeed
protected final double epsilonSpeed -
epsilonAngle
protected final float epsilonAngle -
forceVelocityDamping
protected final double forceVelocityDamping -
maxHorizontalSpeed
protected final double maxHorizontalSpeed -
fastMotionThreshold
protected final double fastMotionThreshold -
fastMotionThresholdRange
protected final double fastMotionThresholdRange -
maxHeadRotationSpeed
protected final float maxHeadRotationSpeed -
role
-
inertia
protected double inertia -
knockbackScale
protected double knockbackScale -
gravity
protected double gravity -
debugModeSteer
protected boolean debugModeSteer -
debugModeMove
protected boolean debugModeMove -
debugModeCollisions
protected boolean debugModeCollisions -
debugModeBlockCollisions
protected boolean debugModeBlockCollisions -
debugModeProbeBlockCollisions
protected boolean debugModeProbeBlockCollisions -
debugModeValidatePositions
protected boolean debugModeValidatePositions -
debugModeOverlaps
protected boolean debugModeOverlaps -
debugModeValidateMath
protected boolean debugModeValidateMath -
position
-
collisionBoundingBox
-
collisionResult
-
translation
-
bisectValidPosition
-
bisectInvalidPosition
-
lastValidPosition
-
forceVelocity
-
appliedForce
-
ignoreDamping
protected boolean ignoreDamping -
appliedVelocities
-
isObstructed
protected boolean isObstructed -
throttleDuration
protected double throttleDuration -
targetDeltaSquared
protected double targetDeltaSquared -
recomputePath
protected boolean recomputePath -
worldNormal
-
worldAntiNormal
-
componentSelector
-
planarComponentSelector
-
enableTriggers
protected boolean enableTriggers -
enableBlockDamage
protected boolean enableBlockDamage -
isReceivingBlockDamage
protected boolean isReceivingBlockDamage -
isAvoidingBlockDamage
protected boolean isAvoidingBlockDamage -
requiresPreciseMovement
protected boolean requiresPreciseMovement -
requiresDepthProbing
protected boolean requiresDepthProbing -
havePreciseMovementTarget
protected boolean havePreciseMovementTarget -
preciseMovementTarget
-
isRelaxedMoveConstraints
protected boolean isRelaxedMoveConstraints -
isBlendingHeading
protected boolean isBlendingHeading -
blendHeading
protected double blendHeading -
haveBlendHeadingPosition
protected boolean haveBlendHeadingPosition -
blendHeadingPosition
-
blendLevelAtTargetPosition
protected double blendLevelAtTargetPosition -
fastMotionKind
protected boolean fastMotionKind -
idleMotionKind
protected boolean idleMotionKind -
horizontalIdleKind
protected boolean horizontalIdleKind -
moveSpeed
protected double moveSpeed -
previousSpeed
protected double previousSpeed -
motionKind
-
lastMovementStateUpdatedMotionKind
-
previousMotionKind
-
effectHorizontalSpeedMultiplier
protected double effectHorizontalSpeedMultiplier -
cachedMovementBlocked
protected boolean cachedMovementBlocked -
yaw
private float yaw -
pitch
private float pitch -
roll
private float roll -
beforeTriggerForce
-
beforeTriggerPosition
-
processTriggersHasMoved
private boolean processTriggersHasMoved -
movementSettings
-
-
Constructor Details
-
MotionControllerBase
public MotionControllerBase(@Nonnull BuilderSupport builderSupport, @Nonnull BuilderMotionControllerBase builder)
-
-
Method Details
-
getRole
- Specified by:
getRolein interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
setRole
- Specified by:
setRolein interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
setInertia
public void setInertia(double inertia) - Specified by:
setInertiain interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
setKnockbackScale
public void setKnockbackScale(double knockbackScale) - Specified by:
setKnockbackScalein interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
updateModelParameters
public void updateModelParameters(Ref<EntityStore> ref, Model model, @Nonnull Box boundingBox, ComponentAccessor<EntityStore> componentAccessor) - Specified by:
updateModelParametersin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
readEntityPosition
protected void readEntityPosition(@Nonnull Ref<EntityStore> ref, @Nonnull ComponentAccessor<EntityStore> componentAccessor) -
postReadPosition
public void postReadPosition(Ref<EntityStore> ref, ComponentAccessor<EntityStore> componentAccessor) -
moveEntity
public void moveEntity(@Nonnull Ref<EntityStore> ref, double dt, @Nonnull ComponentAccessor<EntityStore> componentAccessor) -
getYaw
public float getYaw() -
getPitch
public float getPitch() -
getRoll
public float getRoll() -
touchesWater
public boolean touchesWater(boolean defaultValue, @Nonnull ComponentAccessor<EntityStore> componentAccessor) -
updateMovementState
public void updateMovementState(@Nonnull Ref<EntityStore> ref, @Nonnull MovementStates movementStates, @Nonnull Steering steering, @Nonnull Vector3d velocity, @Nonnull ComponentAccessor<EntityStore> componentAccessor) - Specified by:
updateMovementStatein interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
isFastMotionKind
protected abstract boolean isFastMotionKind(double var1) -
updateFlyingStates
protected void updateFlyingStates(@Nonnull MovementStates movementStates, boolean idle, boolean fastMotionKind) -
updateSwimmingStates
protected void updateSwimmingStates(@Nonnull MovementStates movementStates, boolean idle, boolean fastMotionKind, boolean horizontalIdleKind) -
updateMovingStates
protected static void updateMovingStates(@Nonnull Ref<EntityStore> ref, @Nonnull MovementStates movementStates, boolean fastMotionKind, @Nonnull ComponentAccessor<EntityStore> componentAccessor) -
updateAscendingStates
protected void updateAscendingStates(@Nonnull Ref<EntityStore> ref, @Nonnull MovementStates movementStates, boolean fastMotionKind, boolean horizontalIdleKind, @Nonnull ComponentAccessor<EntityStore> componentAccessor) -
updateDescendingStates
protected void updateDescendingStates(@Nonnull Ref<EntityStore> ref, @Nonnull MovementStates movementStates, boolean fastMotionKind, boolean hovering, @Nonnull ComponentAccessor<EntityStore> componentAccessor) -
updateDroppingStates
-
updateStandingStates
protected void updateStandingStates(@Nonnull MovementStates movementStates, @Nonnull MotionKind motionKind, boolean hovering) -
steer
public double steer(@Nonnull Ref<EntityStore> ref, @Nonnull Role role, @Nonnull Steering bodySteering, @Nonnull Steering headSteering, double interval, @Nonnull ComponentAccessor<EntityStore> componentAccessor) - Specified by:
steerin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
steer0
public double steer0(@Nonnull Ref<EntityStore> ref, @Nonnull Role role, @Nonnull Steering bodySteering, @Nonnull Steering headSteering, double interval, @Nonnull ComponentAccessor<EntityStore> componentAccessor) -
shouldDampenAppliedVelocitiesY
protected boolean shouldDampenAppliedVelocitiesY() -
shouldAlwaysUseGroundResistance
protected boolean shouldAlwaysUseGroundResistance() -
calculateYaw
protected void calculateYaw(@Nonnull Ref<EntityStore> ref, @Nonnull Steering bodySteering, @Nonnull Steering headSteering, float maxHeadRotation, float maxBodyRotation, @Nonnull ComponentAccessor<EntityStore> componentAccessor) -
blendBodyYaw
protected float blendBodyYaw(@Nonnull Ref<EntityStore> ref, float yawOffset, float maxBodyRotation, @Nonnull ComponentAccessor<EntityStore> componentAccessor) -
calculatePitch
protected void calculatePitch(@Nonnull Ref<EntityStore> ref, @Nonnull Steering bodySteering, @Nonnull Steering headSteering, float maxHeadRotation, @Nonnull ComponentAccessor<EntityStore> componentAccessor) -
calculateRoll
-
dampForceVelocity
protected void dampForceVelocity(@Nonnull Vector3d forceVelocity, double forceVelocityDamping, double interval, ComponentAccessor<EntityStore> componentAccessor) -
convertToNewRange
private static double convertToNewRange(double value, double oldMinRange, double oldMaxRange, double newMinRange, double newMaxRange) -
probeMove
public double probeMove(@Nonnull Ref<EntityStore> ref, @Nonnull Vector3d position, @Nonnull Vector3d direction, @Nonnull ProbeMoveData probeMoveData, @Nonnull ComponentAccessor<EntityStore> componentAccessor) - Specified by:
probeMovein interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
postExecuteMove
protected void postExecuteMove() -
adjustReadPosition
protected void adjustReadPosition(Ref<EntityStore> ref, ComponentAccessor<EntityStore> componentAccessor) -
adjustWritePosition
protected void adjustWritePosition(Ref<EntityStore> ref, double dt, @Nonnull ComponentAccessor<EntityStore> componentAccessor) -
isInProgress
public boolean isInProgress()- Specified by:
isInProgressin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
isObstructed
public boolean isObstructed()- Specified by:
isObstructedin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
getThrottleDuration
public double getThrottleDuration()- Specified by:
getThrottleDurationin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
getTargetDeltaSquared
public double getTargetDeltaSquared()- Specified by:
getTargetDeltaSquaredin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
isForceRecomputePath
public boolean isForceRecomputePath()- Specified by:
isForceRecomputePathin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
setForceRecomputePath
public void setForceRecomputePath(boolean recomputePath) - Specified by:
setForceRecomputePathin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
beforeInstructionSensorsAndActions
public void beforeInstructionSensorsAndActions(double physicsTickDuration) - Specified by:
beforeInstructionSensorsAndActionsin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
beforeInstructionMotion
public void beforeInstructionMotion(double physicsTickDuration) - Specified by:
beforeInstructionMotionin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
isHorizontalIdle
public boolean isHorizontalIdle(double speed) -
canAct
public boolean canAct(@Nonnull Ref<EntityStore> ref, @Nonnull ComponentAccessor<EntityStore> componentAccessor) - Specified by:
canActin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
isMovementBlocked
public boolean isMovementBlocked(@Nonnull Ref<EntityStore> ref, @Nonnull ComponentAccessor<EntityStore> componentAccessor) -
computeMove
protected abstract double computeMove(@Nonnull Ref<EntityStore> var1, @Nonnull Role var2, Steering var3, double var4, Vector3d var6, @Nonnull ComponentAccessor<EntityStore> var7) -
executeMove
protected abstract double executeMove(@Nonnull Ref<EntityStore> var1, @Nonnull Role var2, double var3, Vector3d var5, @Nonnull ComponentAccessor<EntityStore> var6) -
bisect
public <T> double bisect(@Nonnull Vector3d validPosition, @Nonnull Vector3d invalidPosition, @Nonnull T t, @Nonnull BiPredicate<T, Vector3d> validate, @Nonnull Vector3d result) -
bisect
public <T> double bisect(@Nonnull Vector3d validPosition, @Nonnull Vector3d invalidPosition, @Nonnull T t, @Nonnull BiPredicate<T, Vector3d> validate, double maxDistance, @Nonnull Vector3d result) -
getForce
- Specified by:
getForcein interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
addForce
- Specified by:
addForcein interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
forceVelocity
public void forceVelocity(@Nonnull Vector3d velocity, @Nullable VelocityConfig velocityConfig, boolean ignoreDamping) - Specified by:
forceVelocityin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
clearForce
public void clearForce() -
dumpCollisionResults
protected void dumpCollisionResults() -
setEnableTriggers
public void setEnableTriggers(boolean enableTriggers) -
setEnableBlockDamage
public void setEnableBlockDamage(boolean enableBlockDamage) -
willReceiveBlockDamage
public boolean willReceiveBlockDamage()- Specified by:
willReceiveBlockDamagein interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
setAvoidingBlockDamage
public void setAvoidingBlockDamage(boolean avoid) - Specified by:
setAvoidingBlockDamagein interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
isAvoidingBlockDamage
public boolean isAvoidingBlockDamage()- Specified by:
isAvoidingBlockDamagein interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
processTriggers
public void processTriggers(@Nonnull Ref<EntityStore> ref, @Nonnull CollisionResult collisionResult, double t, @Nonnull ComponentAccessor<EntityStore> componentAccessor) -
isDebugMode
-
isProcessTriggersHasMoved
public boolean isProcessTriggersHasMoved() -
isAlive
protected boolean isAlive(@Nonnull Ref<EntityStore> ref, @Nonnull ComponentAccessor<EntityStore> componentAccessor) -
activate
public void activate()- Specified by:
activatein interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
resetObstructedFlags
public void resetObstructedFlags() -
deactivate
public void deactivate()- Specified by:
deactivatein interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
getEpsilonSpeed
public double getEpsilonSpeed() -
getEpsilonAngle
public float getEpsilonAngle() -
getComponentSelector
- Specified by:
getComponentSelectorin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
getPlanarComponentSelector
- Specified by:
getPlanarComponentSelectorin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
setComponentSelector
- Specified by:
setComponentSelectorin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
getWorldNormal
- Specified by:
getWorldNormalin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
getWorldAntiNormal
- Specified by:
getWorldAntiNormalin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
waypointDistance
- Specified by:
waypointDistancein interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
waypointDistanceSquared
- Specified by:
waypointDistanceSquaredin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
waypointDistance
public double waypointDistance(@Nonnull Ref<EntityStore> ref, @Nonnull Vector3d p, @Nonnull ComponentAccessor<EntityStore> componentAccessor) - Specified by:
waypointDistancein interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
waypointDistanceSquared
public double waypointDistanceSquared(@Nonnull Ref<EntityStore> ref, @Nonnull Vector3d p, @Nonnull ComponentAccessor<EntityStore> componentAccessor) - Specified by:
waypointDistanceSquaredin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
isValidPosition
public boolean isValidPosition(@Nonnull Vector3d position, @Nonnull ComponentAccessor<EntityStore> componentAccessor) - Specified by:
isValidPositionin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
isValidPosition
public boolean isValidPosition(@Nonnull Vector3d position, @Nonnull CollisionResult collisionResult, @Nonnull ComponentAccessor<EntityStore> componentAccessor) -
getInvalidOverlapMaterials
public int getInvalidOverlapMaterials() -
saveMotionKind
protected void saveMotionKind() -
switchedToMotionKind
-
getMotionKind
-
setMotionKind
-
getGravity
public double getGravity()- Specified by:
getGravityin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
setGravity
public void setGravity(double gravity) -
translateToAccessiblePosition
public boolean translateToAccessiblePosition(Vector3d position, Box boundingBox, double minYValue, double maxYValue, ComponentAccessor<EntityStore> componentAccessor) - Specified by:
translateToAccessiblePositionin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
standingOnBlockOfType
public boolean standingOnBlockOfType(int blockSet) - Specified by:
standingOnBlockOfTypein interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
requirePreciseMovement
- Specified by:
requirePreciseMovementin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
clearRequirePreciseMovement
public void clearRequirePreciseMovement() -
isRequiresPreciseMovement
public boolean isRequiresPreciseMovement() -
requireDepthProbing
public void requireDepthProbing()- Specified by:
requireDepthProbingin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
clearRequireDepthProbing
public void clearRequireDepthProbing() -
isRequiresDepthProbing
public boolean isRequiresDepthProbing() -
enableHeadingBlending
public void enableHeadingBlending(double heading, @Nullable Vector3d targetPosition, double blendLevel) - Specified by:
enableHeadingBlendingin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
enableHeadingBlending
public void enableHeadingBlending()- Specified by:
enableHeadingBlendingin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
clearBlendHeading
public void clearBlendHeading() -
setRelaxedMoveConstraints
public void setRelaxedMoveConstraints(boolean relax) - Specified by:
setRelaxedMoveConstraintsin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
isRelaxedMoveConstraints
public boolean isRelaxedMoveConstraints()- Specified by:
isRelaxedMoveConstraintsin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-
updatePhysicsValues
- Specified by:
updatePhysicsValuesin interfacecom.hypixel.hytale.server.npc.movement.controllers.MotionController
-