@@ -20,23 +20,39 @@ public interface ControllableMobActions {
2020 * Orders the entity to move to the given location.
2121 * Uses the {@link ControllableMobActions#getDefaultQueuingFlag() default queuing flag}.
2222 *
23- * @see ControllableMobActions #moveTo(Location, boolean)
23+ * @see #moveTo(Location, boolean, double )
2424 * @param loc the location the entity will move to.
2525 * @return {@link ControllableMobAction}
2626 */
2727 public ControllableMobAction moveTo (Location loc );
28+
2829 /**
2930 * Orders the entity to move to the given location, optionally adding the action to the queue.
3031 * This action is block accurate, meaning, that the entity will stop once it reached the block the given location is pointing at.
3132 * When the action's execution is started, all other movements or attacks caused by the AI are stopped and overridden.
3233 * If a target is assigned to the entity, it will not be lost and dealing with it will be resumed when this movement is finished.
3334 *
35+ * @see #moveTo(Location, boolean, double)
3436 * @param loc the location the entity will move to.
3537 * @param queue whether this action should be added to the queue (true) or executed directly (false).
3638 * @return {@link ControllableMobAction}
3739 */
3840 public ControllableMobAction moveTo (Location loc , boolean queue );
3941
42+ /**
43+ * Orders the entity to move to the given location, optionally adding the action to the queue.
44+ * This action is block accurate, meaning, that the entity will stop once it reached the block the given location is pointing at.
45+ * When the action's execution is started, all other movements or attacks caused by the AI are stopped and overridden.
46+ * If a target is assigned to the entity, it will not be lost and dealing with it will be resumed when this movement is finished.
47+ *
48+ * @param loc the location the entity will move to.
49+ * @param queue whether this action should be added to the queue (true) or executed directly (false).
50+ * @param movementSpeedMultiplicator 1.0 for default speed, 2.0 for doubling the movement speed, and so on. Default is 1.0
51+ * @return {@link ControllableMobAction}
52+ * @throws IllegalArgumentException when movementSpeedMultiplicator is zero or negative
53+ */
54+ public ControllableMobAction moveTo (Location loc , boolean queue , double movementSpeedMultiplicator ) throws IllegalArgumentException ;
55+
4056 /**
4157 * Orders the entity to move to the given location. Uses the {@link ControllableMobActions#getDefaultQueuingFlag() default queuing flag}.
4258 * This action is block accurate, meaning, that the entity will stop once it reached the block the given location is pointing at.
0 commit comments