@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) {
runGenerator(ModBlocks.tutorialOre.getDefaultState(), 7, 10, 12, 50, BlockMatcher.forBlock(Blocks.STONE), world, random, chunkX, chunkZ);
}
private void runGenerator(IBlockState blockToGen, int blockAmount, int chancesToSpawn, int minHeight, int maxHeight, Predicate<IBlockState> blockToReplace, World world, Random rand, int chunk_X, int chunk_Z){
if (minHeight < 0 || maxHeight > 256 || minHeight > maxHeight)
throw new IllegalArgumentException("Illegal Height Arguments for WorldGenerator");
WorldGenMinable generator = new WorldGenMinable(blockToGen, blockAmount, blockToReplace);
int heightdiff = maxHeight - minHeight +1;
for (int i=0; i<chancesToSpawn; i++){
int x = chunk_X * 16 +rand.nextInt(16);
int y = minHeight + rand.nextInt(heightdiff);
int z = chunk_Z * 16 + rand.nextInt(16);
generator.generate(world, rand, new BlockPos(x, y, z));
}