Datapack promts, player item usage detection, custom dimension advice

Hi, i'm very new to datapacks/modding, just looking for some tips to be pushed along~ very thankful that these discords exist ^o^

Ill do my best to explain: Forge 1.21.1 (Might change to 1.20.1 at a later date, we'll see) I want the player to be boosted forward in the direction they're facing when throwing a snowball, egg, etc. (This is done through a Datapack called 'Player Motion.') I want to add a space dimension and a moon dimension with both their own gravity. (Doable through /attribute.) I'm wanting to ask on tips what lags the least or is the most reliable (Mod, or Datapack, currently using MultiWorld for Forge) I want to be able to configure gravity and its effects on the player per dimension (Throwing snowball in moon gravity would boost you slightly more than on earth gravity) To prevent people from flying by spamming throwable items i want to give it a cooldown of when the ability activates. I also only want it to activate when someone is in the air (jumping falling, etc. I found this command piece '@s[nbt={OnGround:1b}]' that seems like it might work) so that people can still spam eggs and things without activating the ability. I want space/moon gravity & related to go to default earth gravity when wearing 'netherite_boots'

Again, I'm not expecting anyone to make it for me or anything, i mostly want a push into the right direction <3 I've been struggling with where to start

Continue to help post