Elytra propellant/thruster

What's the best way, or even the way, to make elytras thrust forward at will, without having the player right click a firework. I also don't wanna use any player motion libraries, and preferably have the "thruster" not show any particles nor make any sounds. ## My Initial plan was (If you don't wanna read it you may skip and answer) Dynamically changing gravity depending on the player's pitch, I have created an approximate formula to calculate the appropriate gravity to set for a gliding player, in which it would thrust it in the direction it's facing with the maximum would-be motion possible. And it worked nicely for an approximate. (would-be motion as in the motion exerted by a firework) The issue is, the formula collapses completely when the pitch is negative, in other words, the player is looking above the xz plane. Because apparently minecraft doesn't handle going down with a downward gravity the same way it handles going up with upward gravity; if you're doing the latter, you'd kinda like.. fly up as if you weren't using an elytra, no part of your vertical motion is turned into horizontal one as an elytra would do naturally, so yeah that like, ruined the whole plan kinda. So I'm unsure on what to do.
Continue to help post