I don’t think that will be in my scope, have my own game to do also :D.
Cheap hack would be to make the whole word physical, otherwise you would have to change the world handler to accept multiple actors for it to be optimized.
Also this lod is a cheap solution, easier to read and grasp, i use one which is more advanced but maybe not so intuitive, so i can’t port my code here.
Eitherway, if you read the code it should be trivial to add.
#pseodo code - for illustration purposes
chance = randint(0,100)
if chance<50: dirt
if chance>=50 and chance<90: gravel
if chance>=90 and chance<100: ore
if chance==100: diamond