Caveats: this analysis was done on a MC Amplified 1.17 Vanilla code base. :. Some of the analysis may be incorrect.
1. Create a blank world, and use the preloader fabric mod to force the server to generate a large number of chunks (262k chunks), but the analysis was performed on the centre 64k chunks.
2. Pull the region files, and using
quarry inspect the individual blocks to find the location of ore. Save these to a database for analysis
3. Analyse the database, using favourite methodology (raw SQL / pandas / tableau.
1) Deepslate versions should be taken into account.
The initial graphs of ore / y level show a sudden drop off below 19 because some of those ores are actually deepslate variants. By merging variants in, a different graph appears then that above:
The Drop off of coal is potentially due to a lack of 'blocks' at those levels - i.e. coal will only be where there are mountains. No mountains means no coal and :. a drop off on the curve. An interesting graph would be number of blocks as a % of blocks found, but as I didn't store the location of every block it is not possible with this data set.
2) The best level to search for Diamonds is level 6 or 7 (or even 8)
This is true in 1.17 because if you dig at level 5, (so you are digging 5 & 6) then you will see a lot of bedrock at 4. You're missing any veins which are higher in the chunk - mining higher up, will have a good section of the veins below and above.
Ignoring all the other types of block (just Diamonds and Lapis):
3) Diamonds have a pretty even distribution inside of a chunk (from above)
Well. We did expect this, but I actually found the variance after 40k+ chunks analysed to be slightly higher then I did expect:
Here the variance is between 472 - 650. The average is 583.7 with a standard deviation of 29.4. Looking at the number of different instances, its not exactly a bell curve, but its pretty good.