Making boats with fake water?

So I have this fake terrain water part that lets you swim in it, but now I’m trying to recreate the part physics just like in terrain water, where parts with low density can float on water. But how should I do it?

You would probably be best with an AlignPosition if your water is level, but disable it if the position is greater than a certain number or the Y velocity is greater than zero.