I just use a coyote/bufferJump(boolean), and a coyote/bufferTimer, so when you press jump you just make coyote/bufferJump to false.
the issue is that actually making each part of that work can require a lot more time and effort in C3