I was bothered by the fact i had no easy answer to this question so i started digging some just for the sake of it.
TL;DR
Ores spawn in the “ore layer” and the “ore layer” flows up and down in the rock below dirt in an unpredictable manner. It’s when this ore layer intersects a rock that can hold the ore you want that you get the ore you want… If other layers in the same column are also of the same type, while also being at the correct height range for that ore to spawn.
In short, pick up rocks until you get one of the ores that can be processed in some way or another into platinum. Do consider the later steps in processing too. If you get nickel ore, you can process that into platinum.
/ TL;DR
First, let’s “talk” about what Greg means when he says “6 stone layers”.
Snapped straight from: GT6 Github - WorldGenStoneLayers.java @ 67
for (int i = 0; i < 16; i++) for (int j = 0; j < 16; j++) {
final int tX = aMinX+i, tZ = aMinZ+j;
final BiomeGenBase aBiome = aBiomes[i][j];
StoneLayer[] tScan = new StoneLayer[] {
StoneLayer.LAYERS.get(Math.min(tListMax, (int)(((tNoise.get(tX, -2, tZ) + 1) / 2) * tListSize)))
, StoneLayer.LAYERS.get(Math.min(tListMax, (int)(((tNoise.get(tX, -1, tZ) + 1) / 2) * tListSize)))
, StoneLayer.LAYERS.get(Math.min(tListMax, (int)(((tNoise.get(tX, 0, tZ) + 1) / 2) * tListSize)))
, StoneLayer.LAYERS.get(Math.min(tListMax, (int)(((tNoise.get(tX, 1, tZ) + 1) / 2) * tListSize)))
, StoneLayer.LAYERS.get(Math.min(tListMax, (int)(((tNoise.get(tX, 2, tZ) + 1) / 2) * tListSize)))
, StoneLayer.LAYERS.get(Math.min(tListMax, (int)(((tNoise.get(tX, 3, tZ) + 1) / 2) * tListSize)))
, StoneLayer.LAYERS.get(Math.min(tListMax, (int)(((tNoise.get(tX, 4, tZ) + 1) / 2) * tListSize)))
};
These are the stone layers he mentions. Each one exists at different heights from bedrock to the top of the terrain.
I am not going to bother explaining it more because i don’t fully understand it but here’s how i understand it.
One of two cases are true for ore generation. Source: GT6 Github - WorldGenStoneLayers.java @ 141
- layer 2 and 6 are equal, then spawn appropriate ore(s) for layer 4… IF the current block is > min height and < max height for the ore, that the random number is less than the chance number and that if the particular ore is in the correct biome. Which only applies for gems as Greg previously mentioned.
- layer 2 and 6 are NOT equal, then spawn appropriate ores for layers 2 AND 6… Applying the same conditions as in case #1 above.
Again, i don’t fully understand it so don’t a come knocking.
From what i read though, certain ores can only spawn in certain rock types. This doesn’t mean they spawn in that rock type all the time. Just that IF it’s going to spawn, it will spawn in that rock type under the above conditions. So pay particular attention to the min and max height of the ore you are trying to find AFTER you have prospected it from a rock somewhere by random chance.
What i do seem to gather from this as well though is that since only layer 4, as in the first case above, holds ore. Only one “bubble” actually spawns ore in a chunk. That bubble can (because of noise used in source code cited above) flow up and down as you move from side to side in the world. It will flow all the way from bedrock to all the way up top. So you really never know where the ore layer is in the world until you find some ore. As such, digging for the sake of digging is pretty much pointless.
The only viable solution is to pick up rocks.
However, theoretically you COULD make a big slice through the world and see how that layer flows up and down in the world. But you would basically be digging from top soil to bedrock for thousands of blocks… When rocks simply TELL you what is in the stone and ore layers below. It would be much faster to just strip the rocks from the top soil in a straight line than digging a slice to see where the bubble intersects with the target rock for the ore you are looking for.
Don’t just lock on to one particular ore either by the way. There’s more than one way to get platinum. Nickel ore gives you some for example. Some ores wash into nickel ore and nickel ore in turn gives platinum in a mercury bath.
EDIT:
Oh right, almost forgot…
Here you go: gregtech6/Loader_Worldgen.java at master · GregTech6/gregtech6 · GitHub
In there you can see the height levels ores spawn at and a 1/Uxxx chance of a single block being that ore IF the conditions for said ore is met as per above.
You needn’t worry about the 1/Uxxx chance though. Suffice to say, the larger the number Uxxx, the more densely the ore will spawn.
And with all this said, i do believe all ores have essentially the same chance of spawning per say. It’s just that the closer to bedrock they are, the less likely the “ore layer wave” will cross them.