Could someone teach me how to make this custom weapon?

Hey, I wanted to create a custom weapon for a minecraft server using datapacks, but I'm a somewhat new datapack maker, and the idea may be somewhat complicated, so I wanted to know if someone could help teach me the steps needed to do it. Its a 1.21.5 datapack btw

This is the idea:

NAME: Flames of Redemption

A Mass of Pure Fire. It transforms depending on what the user needs in a situation.

Ability: Shift + Right Click to Change Form (Cooldown of 10 Seconds)

Form A: The Blade - Transforms into a Sword. On hit, applies Burn for 4 seconds (like Fire Aspect but can't be put out). Deals +50% damage to undead mobs. Killing an entity releases a short-range flame shockwave (small AoE burst of fire damage and knockback).

Form B: The Axe - Transforms into an Axe. Deals bonus damage on a critical hit. On critical hit, applies Burn, dealing fire damage over 3 seconds. If you crit an enemy under a fire effect, deal +5 bonus fire damage and a small explosion (non-destructive).

Form C: The Bow - Transforms into a Bow. It does not need arrows, as it launches Arrows made of fire. These arrows explode in a 1.5-block fire burst on impact (no block damage). Enemies hit are marked for 5 seconds. If hit again while marked, they take bonus burning damage and are slowed.

Form D: The Staff - Transforms into a Staff. Expels a ring of cleansing fire, dealing minor fire damage to enemies and cleansing negative status effects from allies in range.

Continue to help post