Generate ore (with tier) when generating cobblestone (with probability) from a generator

I'm trying to create a cobblestone generator that can also generate minerals (like in skyblocks on servers) and I've currently defined tiers (via scoreboards). I'm stuck on how to find possible generators and from there apply the probability per second of a player's tier to find possible minerals. I've only done the load (where I load all the scoreboards) and despite a lot of research I haven't been able to figure out how to make the datapack understand that it should apply these rules only on generators (possibly at a maximum range of 10 blocks from the player)

(If you know of other more effective methods I'd be happy to know them but since I really don't know how to apply them I'd be happy if you could show some practical examples)

# load

scoreboard objectives add playerTier dummy

scoreboard objectives add oreLimit1 dummy
scoreboard objectives add oreLimit2 dummy
scoreboard objectives add oreLimit3 dummy
scoreboard objectives add oreLimit4 dummy
scoreboard objectives add oreLimit5 dummy
scoreboard objectives add oreLimit6 dummy
scoreboard objectives add oreLimit7 dummy
scoreboard objectives add oreLimit8 dummy
scoreboard objectives add oreLimit9 dummy
scoreboard objectives add oreLimit10 dummy

scoreboard objectives add cobblestone dummy
scoreboard objectives add coal dummy
scoreboard objectives add iron dummy
scoreboard objectives add gold dummy
scoreboard objectives add lapis dummy
scoreboard objectives add redstone dummy
scoreboard objectives add diamond dummy
scoreboard objectives add emerald dummy

# oreLimit1
scoreboard players set cobblestone oreLimit1 95
scoreboard players set coal oreLimit1 5
scoreboard players set iron oreLimit1 0
scoreboard players set gold oreLimit1 0
scoreboard players set lapis oreLimit1 0
scoreboard players set redstone oreLimit1 0
scoreboard players set diamond oreLimit1 0
scoreboard players set emerald oreLimit1 0

# ...
Continue to help post