I have a mesh where there will be multiple black and white textures on it, and will each set the value a shader that will appear on the mesh in different areas. So wherever the texture is painted, the material will appear there, for short.
I know this set up won't work, but it's an example of what I want to be done:

The first (material output setup) will show a material/color from the Principled BSDF shader wherever 1Image is painted (as in probably a black color will be painted on a white texture, or whatever works) on the mesh.
The second, the Diffuse BSDF shader will only show it's purple color wherever the 2Image is painted on the mesh.
The third will have hair grow, hopefully on a scale where black has a full weight, and grey a medium weight, and white no weight. Full weight as in most dense where the hair grows. This will also be wherever those shades are painted on 2Image (supposed to be 3Image, forgot to change it).
So how do I set up a node system that can get this fake set-up to actually work?
Also, I know I could just Weight Paint where the hair grows, but I am limited to only the vertices, and on a low poly mesh, it's hard to be more detailed.