Creating tiles when purchased

Bascially trying to make it so when you purchase a tile new tiles will spawn next to it. This is kinda how mining simulators work where when you break a block blocks will spawn around it. Currently I have it so when you purchase a tile it creates tiles in areas it should but for some reason when the Vector is only negative it will not work. Also when the vector is only negative it wont go through ANY of the if statements,

local prev = false
for _,gen in pairs(plot.Gen:GetChildren()) do
	for _,pos in pairs(positions) do
		--local key = PositionKey(tileData.Position.Value)
		local values = tileData.Position.Value:split(",")
		local newPos = Vector3.new(values[1], values[2], values[3]) + pos

		if gen.Value == newPos then
			prev = true
		end
		if not prev then
			print(newPos)
			local newTile = tile:Clone()
			newTile.Parent = plot.Tiles
			newTile.Position = plot.Tiles.Tile1.Position + newPos
		end
	end
end