How to clone something multiple times

Right now I’m trying to clone this part multiple times, but I think the script below currently resets the position of the part every time it is cloned and so it always ends up in front of my character until the last part is cloned. Is there a way for me to clone something multiple times without always resetting the position of the object?

		for i = 1,8,1 do
			FlamethrowerPart:Clone()
			newFlamethrower.Parent = game.Workspace
			newFlamethrower.CFrame = player.character.HumanoidRootPart.CFrame*CFrame.new(Vector3.new(0,0,-1))
			BodyVelocity.Parent = newFlamethrower
			BodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
			BodyVelocity.Velocity = player.character.HumanoidRootPart.CFrame.LookVector*speed
		game.Debris:AddItem(newFlamethrower,lifetime)
		task.wait(0.1)
		end

I have read those posts before I made this one, the first one was about setting up bombs in random positions which is a different instance and the second one does match my case, but I didn’t really understand how the solution worked.

you just forgot to assign the cloned flamethrower to newFlamethrower

			newFlamethrower = FlamethrowerPart:Clone()

not sure what you’re doing with BodyVelocity

Yes thanks I tried this method before and while it does clone the part 8 times, for some reason the parts all just fall into the void and it ignores the script below it. For the BodyVelocity I was setting the parent of it to a variable which also cloned the Flamethrower earlier in the script.

I managed to solve it, I realized I forgot to create a new BodyVelocity in the loop. That was what made the parts fall into the void. Here’s how the flamethrower is being made:

		for i = 1,8,1 do
			local newFlamethrower = FlamethrowerPart:Clone()
			newFlamethrower.Parent = game.Workspace
			newFlamethrower.CFrame = player.character.HumanoidRootPart.CFrame*CFrame.new(Vector3.new(0,0,-1))
			local BodyVelocity = Instance.new("BodyVelocity")
			BodyVelocity.Parent = newFlamethrower
			BodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
			BodyVelocity.Velocity = player.character.HumanoidRootPart.CFrame.LookVector*speed
			game.Debris:AddItem(newFlamethrower,lifetime)
			
			local thread2 = coroutine.create(function()
			for i = 1,500,1 do
				local x, y, z = math.random(-360,360), math.random(-360,360), math.random(-360,360)

				newFlamethrower.Size = newFlamethrower.Size + Vector3.new(0.1,0.1,0.1)
				newFlamethrower.Orientation = newFlamethrower.Orientation + Vector3.new(x,y,z)
				task.wait()
				end
			end)
			coroutine.resume(thread2)
			
			task.wait(0.1)
		end