Body Thrust Help

I am trying to make a golf game and want to use the body movers to get the physics to work.
I’ve made a script that uses the mouse to control the location the force is from and the amount of force that should be applied. Ex:
The problem is that even after reading up a lot on BodyThrust, I still dont understand why the BodyThrust.Force is a Vector3 if the BodyThrust.Location property exists.

https://i.gyazo.com/e47b290af8742336fc63fff4a0406f42.gif

I have a single integer as a velocity, and a Vector3 (both are stored as objects in PlayerGui so both the server and client can read and write to these values) as the location of the purple ball (pictured above) in relation to the big grey one, and do not know how to apply these values.

Below is how I call use the thrust.

local rS = game:GetService("ReplicatedStorage")
local fireEvent = rS:FindFirstChild("BallFire")
local bodyThr = game.Workspace.Part.BodyThrust

fireEvent.OnServerEvent:Connect(function(player, Vector3, velocity)
	bodyThr.Location = player:FindFirstChild("PlayerGui"):FindFirstChild("Vector3Value").Value
	print("Recieved Event")
end)

If anyone could this explain to me, or link a helpful tutorial, that would be greatly appreciated! Thanks!