java.lang.Object
com.hypixel.hytale.server.npc.movement.controllers.ProbeMoveData

public class ProbeMoveData extends Object
  • Field Details

    • probePosition

      @Nonnull public final Vector3d probePosition
    • probeDirection

      @Nonnull public final Vector3d probeDirection
    • initialPosition

      @Nonnull public final Vector3d initialPosition
    • targetPosition

      @Nonnull public final Vector3d targetPosition
    • directionComponentSelector

      @Nonnull public final Vector3d directionComponentSelector
    • isAvoidingBlockDamage

      public boolean isAvoidingBlockDamage
    • isRelaxedMoveConstraints

      public boolean isRelaxedMoveConstraints
    • onGround

      public boolean onGround
    • isSavingSegments

      public boolean isSavingSegments
    • segmentCount

      public int segmentCount
    • segments

      @Nullable public ProbeMoveData.Segment[] segments
  • Constructor Details

    • ProbeMoveData

      public ProbeMoveData()
  • Method Details

    • setSaveSegments

      public void setSaveSegments(boolean saveSegments)
    • isAvoidingBlockDamage

      public boolean isAvoidingBlockDamage()
    • setAvoidingBlockDamage

      public void setAvoidingBlockDamage(boolean avoid)
    • isRelaxedMoveConstraints

      public boolean isRelaxedMoveConstraints()
    • setRelaxedMoveConstraints

      public void setRelaxedMoveConstraints(boolean relaxedMoveConstraints)
    • setPosition

      @Nonnull public ProbeMoveData setPosition(@Nonnull Vector3d position)
    • setDirection

      @Nonnull public ProbeMoveData setDirection(@Nonnull Vector3d direction)
    • setTargetPosition

      @Nonnull public ProbeMoveData setTargetPosition(@Nonnull Vector3d targetPosition)
    • canAdvance

      public boolean canAdvance(@Nonnull Ref<EntityStore> ref, @Nonnull com.hypixel.hytale.server.npc.movement.controllers.MotionController motionController, double threshold, @Nonnull ComponentAccessor<EntityStore> componentAccessor)
    • canAdvanceAbs

      public boolean canAdvanceAbs(@Nonnull Ref<EntityStore> ref, @Nonnull com.hypixel.hytale.server.npc.movement.controllers.MotionController motionController, double requiredDistance, @Nonnull ComponentAccessor<EntityStore> componentAccessor)
    • canMoveTo

      public boolean canMoveTo(@Nonnull Ref<EntityStore> ref, @Nonnull com.hypixel.hytale.server.npc.movement.controllers.MotionController motionController, double maxDistance, double maxDistanceY, @Nonnull ComponentAccessor<EntityStore> componentAccessor)
    • canMoveTo

      public boolean canMoveTo(@Nonnull Ref<EntityStore> ref, @Nonnull com.hypixel.hytale.server.npc.movement.controllers.MotionController motionController, double maxDistance, @Nonnull ComponentAccessor<EntityStore> componentAccessor)
    • computePosition

      public boolean computePosition(double distance, @Nonnull Vector3d result)
    • startProbing

      public boolean startProbing()
    • addStartSegment

      public void addStartSegment(@Nonnull Vector3d position, boolean onGround)
    • addEndSegment

      public void addEndSegment(@Nonnull Vector3d position, boolean onGround, double distance)
    • addBlockedGroundSegment

      public void addBlockedGroundSegment(@Nonnull Vector3d position, double distance, @Nonnull Vector3d normal, int blockId)
    • addHitGroundSegment

      public void addHitGroundSegment(@Nonnull Vector3d position, double distance, @Nonnull Vector3d normal, int blockId)
    • addHitWallSegment

      public void addHitWallSegment(@Nonnull Vector3d position, boolean onGround, double distance, @Nonnull Vector3d normal, int blockId)
    • addMoveSegment

      public void addMoveSegment(@Nonnull Vector3d position, boolean onGround, double distance)
    • addClimbSegment

      public void addClimbSegment(@Nonnull Vector3d position, double distance, int blockId)
    • addHitEdgeSegment

      public void addHitEdgeSegment(@Nonnull Vector3d position, double distance)
    • addDropSegment

      public void addDropSegment(@Nonnull Vector3d position, double distance)
    • addBlockedDropSegment

      public void addBlockedDropSegment(@Nonnull Vector3d position, double distance)
    • changeSegmentToBlockedWall

      public void changeSegmentToBlockedWall()
    • changeSegmentToBlockedEdge

      public void changeSegmentToBlockedEdge()
    • getLastDistance

      public double getLastDistance()
    • newSegment

      protected ProbeMoveData.Segment newSegment()