return function(V,K,s)do end local P={}local g={}for s,o in s do local p=o:GetCollisions(K,V.Radius)if#p>0 then table.insert(g,o:GetObject())end for V,K in p do table.insert(P,K)end end for s,P in P do K=P.ClosestPoint+P.Normal*V.Radius end V.CollisionsData=P V.CollisionHits=g do end return K end
return function(self, Position, Colliders)
do end	
local Collisions = {}
	local HitParts = {}

	for _, Collider in Colliders do
		local ColliderCollisions = Collider:GetCollisions(Position, self.Radius)

		if #ColliderCollisions > 0 then
			table.insert(HitParts, Collider:GetObject())
		end

		for _, Collision in ColliderCollisions do
			table.insert(Collisions, Collision)
		end
	end

	for _, Collision in Collisions do
		Position = Collision.ClosestPoint + (Collision.Normal * self.Radius)
		-- self:ClipVelocity(Position, Collision.Normal) -- This causes some weird glitching issues, not sure why tbh
	end

	self.CollisionsData = Collisions
	self.CollisionHits = HitParts
do end
	
return Position
end
