THIS IS A REMIX: All credit to @LeScratcher Just trying to fix a few bugs The jumping now works far more reliably and I think I reduced the bouncing a little but I can't get rid of it completely without changing the script by loads. Game-play wise it's much better though. Because the floor collisions bump the player off the ground the jump section wasn't always picking up that it should be able to jump, temporarily dropping by 2 pixels allows it to realise and then it can go back up 2 pixels after the jumping is done. I tried the same approach for the bouncing and I tried moving some parts around to try to get the y movement stable when the player is still. but I couldn't quite fix it.
All credit to @LeScratcher Just trying to fix a few bugs