2 pieces, shell and spring. This is experimental, to see how well (or not) a 3d-printed spring holds up. PLA is probably not great for the spring, PETG should be better. No supports needed. Print spring on its side. Edit: Spring gets weak, even with PETG. I'll leave it here though in case someone figure out something.
Download from thingiverse