You are doing metadata correct, but wrap the generation code in a for loop and loop it like 50 times and than it should spawn more, because as far as i can see, your code only spawns one group of ores in each chunk
try this one, lower the 50 in the for loop too your needs
public void generateSurface(World world, Random rand, int chunkX, int chunkZ) {
int randPosX, randPosY, randPosZ, randSize;
for(int i = 0; i < 50; i++){
randPosX = (chunkX * 16) + rand.nextInt(16);
randPosY = rand.nextInt(64);
randPosZ = (chunkZ * 16) + rand.nextInt(16);
randSize = rand.nextInt(12);
//the 18 is ment to be the blockOremeta.blockID, metadata
(new WorldGenMinable(es_main_blocks.blockOremeta.blockID, 18, 50)).generate(world, rand,
randPosX, randPosY, randPosZ);
}
}