Throwing a snowball at a stationary fireball does not modify the fireballs velocity.
This does not match the vanilla behaviour, under which the fireball begins to move in the direction the snowball was flying.
- Summon a stationary fireball using
- Throw a snowball at the stationary fireball
- Observe the fireball still being stationary
EntityFireball#damageEntity calls CraftEventFactory.handleNonLivingEntityDamageEvent(Entity,DamageSource,double) which defaults the cancelOnZeroDamage parameter to true.
As snowballs do not deal any damage to the fireball, the event is auto cancelled and the fireball is never damaged. This prevents the velocity mutation.
As this seems to be done intentionally (see comment above handleNonLivingEntityDamageEvent), I don't think I can implement a fix myself.