The object binds a little when force is applied to it

I basically made a ball that is pushed by being close to the ball, but when pushing it, it kind of locks or teleports close, and I don’t want this because it’s not a fluid movement.

LocalScript:

local UIS = game:GetService("UserInputService")
local RS = game:GetService("RunService")
local RS = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")

local LocalPlayer = Players.LocalPlayer
local Character = LocalPlayer.Character

local Mouse = LocalPlayer:GetMouse()

local Radius = 6

UIS.InputEnded:Connect(function(Input, gameprocess)
	if Input.UserInputType == Enum.UserInputType.MouseButton1 then
		if (Character.HumanoidRootPart.Position - workspace.Ball.Position).Magnitude <= Radius then
			RS.SendShoot:InvokeServer(Mouse.Hit.Position,80)
		end
	end
end)

ServerScript:

local RS = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")

RS.SendShoot.OnServerInvoke = function(Player, PosMouse, ShootForce)
	local Character = workspace:FindFirstChild(Player.Name)
	if Character ~= nil then
		workspace.Ball.CFrame = CFrame.lookAt(workspace.Ball.Position, PosMouse)
		workspace.Ball.Velocity = workspace.Ball.CFrame.LookVector * ShootForce
	end
end

RS.BallPushEvent.OnClientEvent:Connect(function(X,Y)
workspace.Ball.Position = Vector3.new(X,Y,workspace.Ball.Position.Z)
end)

LocalPlayer.CharacterAdded:Connect(function()
Character = LocalPlayer.Character
end)

RS.ReceiveShoot.OnServerInvoke = function(Player, Hit, Force)
if not workspace.Ball.Position:IsClose(Hit, Radius) then
return
end
workspace.Ball.CFrame = CFrame.new(Hit)
workspace.Ball.Velocity = Vector3.new(0,0,0)
workspace.Ball:ApplyForce(CFrame.new(Hit).lookVector.unit * Force)
end

A:

The problem is that you are changing the position of the ball in the server script, not the client script.
The ball is being pushed by the server script, and then teleported by the server script to the player mouse position.
The client script is sending the position of the mouse to the server, and the server is using that position to teleport the ball to the player mouse position.