Right now, PathExecutor directly calls setSprinting, this can result in things the player couldn't normally do, like stop sprinting without letting go of W, or starting a sprint in midair in strange scenarios. It should instead pass through the SPRINT keybind to InputOverrideHandler, which should hold down SPRINT on a rising edge, and do setSprinting(false) on a falling edge.
Right now, PathExecutor directly calls setSprinting, this can result in things the player couldn't normally do, like stop sprinting without letting go of W, or starting a sprint in midair in strange scenarios. It should instead pass through the SPRINT keybind to InputOverrideHandler, which should hold down SPRINT on a rising edge, and do setSprinting(false) on a falling edge.