
(I used the leaf because is more noticeable when the player change frames, but the power-up or player is completely irrelevant)
The hops happens when the player speed shifts between 0.4 and 3.4. To fix this, I'd suggest do what redigit did in SMBX 1.3.
When the player is stand over a NPC, the player keep gaining y-speed until it reach its maximum speed:
- Spoiler

In SMBX 1.4, it stops at 0.4 (or whenever the acceleration of the character is):
- Spoiler

However, in SMBX 1.3 when the player is not stand over an NPC anymore, its y-speed gets reset.
- Spoiler

Next frame:

