public class OreGeneration implements IWorldGenerator {
private WorldGenerator TEST_ORE;
public OreGeneration() {
TEST_ORE = new WorldGenMinable(ModBlocks.TEST_ORE.getDefaultState(), ;
}
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) {
switch (world.provider.getDimension()) {
case 0: //Overworld
runGeneration(TEST_ORE, world, random, chunkX, chunkZ, 20, 0, 64);
break;
case -1: //Nether
break;
case 1: //End
break;
}
}
private void runGeneration(WorldGenerator generator, World world, Random rand, int chunk_X, int chunk_Z, int chancesToSpawn, int minHeight, int maxHeight) {
if (minHeight < 0 || maxHeight > 256 || minHeight > maxHeight)
throw new IllegalArgumentException("Illegal Height Arguments for WorldGenerator");
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));
}
}
}
public class CommonProxy {
public void init() {
GameRegistry.registerWorldGenerator(new OreGeneration(), 0);
}
}