Meteor's wont explode on contact with ground

I’m creating meteors that are supposed to fall and explode when they hit the ground, but they only explode on impact with players.
Script in meteor:

local function runMeteor()
	while true do
		task.wait(1/60)
		if script.Parent.Parent == game.Workspace then
			script.Parent.Position -= Vector3.new(0,1,0)
		end
	end
end

local coro = coroutine.create(runMeteor)
coroutine.resume(coro)

Script in meteor spawner:

for i = 1,30,1 do
		task.wait(1)
		local clone = script.meteor:Clone()
		clone.Position = Vector3.new(math.random(-193,193),300,math.random(-193,193))
		clone.Parent = game.Workspace
		clone.meteorFalling.Value = true
		clone.Touched:Connect(function()
			clone.Transparency = 1
			clone.CanCollide = false
			local explosion = Instance.new('Explosion')
			explosion.Position = clone.Position
			explosion.BlastPressure = 50000000
			explosion.BlastRadius = 4
			explosion.TimeScale = 2
			explosion.Parent = game.Workspace
			task.wait(5)
			clone:Destroy()
		end)
	end

Does the floor have CanTouch enabled?

I just checked, yes, they do have CanTouch enabled.

Well maybe you could try putting the Meteor’s exploding script inside a different script that’s in the meteor rather than it being inside the loop, though, I doubt it’ll do anything.

It was there in the first place, but I thought it was the coroutine messing it up so I moved it.

I think it’ll be better for you to use Raycasting to make a ray pointed below where the meteor is landing
to detect if it hit something rather than you relying on Touched for it