local function J(k,d)d=d or 120 local n,A=Workspace:FindPartOnRayWithIgnoreList(Ray.new(k,UpVec*d),ignoreList)if n then return n.Transparency~=1 and true or J(A+UpVec,d-(k-A).Magnitude)else return false end end

local function UnderObject(pos, l)
	l = l or 120
	-- raycast
	local hit, position = Workspace:FindPartOnRayWithIgnoreList(Ray.new(pos, UpVec * l), ignoreList)
	if hit then
		return hit.Transparency ~= 1 and true or UnderObject(position + UpVec, l - (pos - position).Magnitude)
	else
		return false
	end
end
