Physics issue, knockback teleports you into the floating point zone

i was making a mining game with explosive ores when I encountered this, originally I was using roblox’s explosions when I encountered this issue, i tried reworking knockback and setting the blastpressure to zero, i tried reworking explosions entirely, and this still happens

local function Explode(Ore,Power)
	local region = workspace:GetPartBoundsInRadius(Ore.Position,Power)
	print(Power)
	for i,Hit in pairs(region) do
		print(Hit)
		if Hit.Parent:FindFirstChildOfClass("Humanoid") then
			local Dis = (Hit.Position - Ore.Position).Magnitude
			print(Dis)
			if Dis <= Power then
				local lookvec = CFrame.lookAt(Ore.Position,Hit.Position).LookVector
				print(lookvec*(Power/(Dis+1))*4000)
				Hit:ApplyImpulse((lookvec*(Power/(Dis+1))*4000))
			end

			Hit.Parent.Humanoid:TakeDamage(Power/2)
			if game.Players:GetPlayerFromCharacter(Hit.Parent) then
				game.ReplicatedStorage.ShakeCamera:FireClient(game.Players:GetPlayerFromCharacter(Hit.Parent),1,Power)
			end
		elseif Hit.Parent == workspace.Mine and Hit ~= Ore then
			if not Hit:FindFirstChild("Placed") then
				if not Hit:FindFirstChild("NoVoid") then
					DestroyOre(Hit)
				end
			end
		end
	end
end

You’re applying a pretty insane impulse. Instead of *4000 try like *50.

@Kizylle beat me to it but yeah, reduce your impulse so it never gets huge,
e.g.; force = math.min(force, max_force)
or add a min distance divisor and apply it to the HumanoidRootPart or use AssemblyLinearVelocity/BodyVelocity instead of arbitrary parts which stops teleporting into the floating point void

Okay so when I turned it down, the bug still occured, i feel like this might be a roblox bug