I would go to your local hardware store and buy a couple folds of clear vinyl carpeting. This is the clear plastic commonly used as a mat at computer desks, so that chairs can easily wheel around without getting caught on regular carpeting. See pic below. It is smooth on one side, and on the other side has little soft "spikes", more like knobs because they're rounded, not actually spiky, to keep the mat in place on top of carpeting. If you lay this face down on top of your bed during all times when you're NOT in bed, it will deter your cat from jumping up onto the bed. It will not hurt your cat, it'll just be uncomfortable on the pads of its feet. Your cat will associate this feeling with jumping up onto your bed.
At night, you can also use the plastic carpeting by rolling it out, right side down, from the walkway of your door to your bed, so the cat has to walk on it to get to your bed. If you are okay with the cat in your room, this may not be the option for you at night time. If that's the case, I'd encourage you to buy a treat your kitty likes a lot (like dried chicken or salmon, place a nice fluffy warm kitty bed, near yours, where kitty can hear you breathing and/or snoring, (can still smell you possibly) and put a t-shirt or pillow case that smells like you (for cuddly comfort) in the cat bed and place him in the cat bed at night. Getting a round bed with high sides will make him feel more snuggled and safe.
Anytime the cat gets in the bed on its own, day or night, give him a treat. When you go to bed at night, place kitty in the bed, and treat again. If the cat wakes you up, jumping on your bed, place him in the cat bed, and treat him as you put him in, and again if he settles in to lay down, to encourage this as a pleasant behavior. Being consistent will help this become more of a happy routine, and eventually over time you can slow down with the treats, and with regular positive outcomes, you can eventually skip the treat/reward part all together. Keep in mind the longer you continue to treat the behavior, the less likely you are to him reverting back to jumping on the bed.
My mom used to have issues with neighborhood cats jumping on her porch furniture and scratching them up, either accidentally or by kneading the pillows and cushions, or by sharpening their claws. She got a cat bed, put it out, and placed the vinyl carpeting on all the chairs' cushions and eventually it stopped and she no longer has to lay out the plastic.
The kind that comes in a roll, made to bend, as pictured, is much softer that the pre-fitted hard plastic rollers, which are more expensive anyways. Good luck!
plastic runner by the foot, soft and flexible, better view of nubs]1