Player rotation not accurate to part

I have a script that changes the orientation of the player to be in the same direction as a certain part, but it does not seem accurate.

Code:


plr.Character.HumanoidRootPart.CFrame = CFrame.new(click.Character.HumanoidRootPart.CFrame.Position) * CFrame.Angles(0, 0, 0)	
wait(0.1)
plr.Character.HumanoidRootPart.CFrame = CFrame.new(click.Character.HumanoidRootPart.CFrame.Position) * CFrame.Angles(0,Part.Orientation.Y, 0)

The orientation of the part is this:
image

But the orientation of the player is this:
image

How do I get the proper orientation?

the rotation between parts can be different
Instead do this

plr.Character.HumanoidRootPart.CFrame = CFrame.new(click.Character.HumanoidRootPart.Position,click.Character.HumanoidRootPart.Position + Part.CFrame.LookVector)