Class BezierCurveMouseMovement

java.lang.Object
net.storm.api.interact.mouse.BezierCurveMouseMovement
All Implemented Interfaces:
MouseMovementStrategy

public class BezierCurveMouseMovement extends Object implements MouseMovementStrategy
Mouse movement strategy that uses quadratic Bezier curves to create natural, human-like mouse movements. The path includes a random control point to add variation and unpredictability.

Execution speed is determined by the InteractManager based on queue size.

  • Constructor Details

    • BezierCurveMouseMovement

      public BezierCurveMouseMovement(int steps, double controlPointDeviation)
      Creates a Bezier curve mouse movement strategy.
      Parameters:
      steps - Number of points along the curve (higher = smoother path)
      controlPointDeviation - How far the control point can deviate from straight line (0.0 to 1.0)
    • BezierCurveMouseMovement

      public BezierCurveMouseMovement()
      Creates a Bezier curve with 15 steps and 0.3 deviation (default).
  • Method Details

    • generatePath

      public MouseMovementStrategy.MousePath generatePath(Point current, Point target)
      Description copied from interface: MouseMovementStrategy
      Generates a mouse movement path from the current position to the target position.

      This method must NOT:

      • Dispatch any events
      • Block the thread
      • Determine execution speed (that's the InteractManager's job)
      Specified by:
      generatePath in interface MouseMovementStrategy
      Parameters:
      current - The current mouse position (can be null if unknown)
      target - The target position to move to
      Returns:
      A MousePath containing the sequence of points defining the path shape