What I am essentially trying to do is make a Bezier Curve from the player to a brick and instead of it plotting, it's just all spawning the bricks in the middle of the baseplate. Any help is greatly appreciated. This game has FilteringEnabled set to true.

ClientScript - LocalScript:

--// Variables
local Player = game.Players.LocalPlayer
local Camera = game.Workspace.CurrentCamera
local Mouse = Player:GetMouse()

--// Events and Modules
local GameStuff = game.ReplicatedStorage.GameStuff
local CreateShot = GameStuff.Events.CreateShot
local Shoot = GameStuff.Events.Shoot

--// Setup

Mouse.Button1Down:Connect(function()
	Shoot:FireServer(Player.Character.Torso, Mouse.Target)
end)

ServerScript - Script:

--// Events and Modules
local GameStuff = game.ReplicatedStorage.GameStuff
local CreateShot = GameStuff.Events.CreateShot
local Shoot = GameStuff.Events.Shoot

local ShotHandler = require(GameStuff.Modules.ShotHandler)

function createPoints(start, negative)
	local part1 = Instance.new("Part")
	if negative == false then
		part1.CFrame = start.CFrame * CFrame.new(3, 2, 0)
	else
		part1.CFrame = start.CFrame * CFrame.new(-3, -2, 0)
	end
	return part1
end

Shoot.OnServerEvent:Connect(function(player, startpoint, endpoint)
	print (startpoint.Name .. " " .. endpoint.Name)
	print (tostring(startpoint.CFrame) .. " -------------- " .. tostring(endpoint.CFrame))
	ShotHandler.Shoot(startpoint, createPoints(startpoint, false), createPoints(endpoint, true), endpoint)
end)

ShotHandler - ModuleScript:

function addSegment(positon)
	local seg = Instance.new("Part", game.Workspace.ShotHolder)
	seg.Size = Vector3.new(1,1,1)
	seg.BrickColor = BrickColor.new("Medium stone grey")
	seg.Anchored = true
	seg.CanCollide = false
end

function equation(t, a, b, c, d)
	return ( (((1 - t)^3)*a) + (3*((1 - t)^2)*t*b) + (3*(1 - t)*(t^2)*c) + ((t^3)*d) )
end

function drawBezier(a, b, c, d)
	local mag = 0
	local lastPos = equation(0, a, b, c, d)
	for t = 0, 1, .001 do
		local curPos = equation(t, a, b, c, d)
		mag = mag + (lastPos - curPos).magnitude
		if( mag > 1 )then
			mag = 0
			addSegment(curPos)
		end
		lastPos = curPos
	end
end

local shot = {}

function shot.Shoot(point1, point2, point3, point4)
	game.Workspace.ShotHolder:ClearAllChildren()
	wait(.1)
	drawBezier(point1.Position, point2.Position, point3.Position, point4.Position)
end

return shot