package com.nj.augury.world;
import java.util.Random;
import com.nj.augury.init.ModBlocks;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.feature.WorldGenMinable;
import cpw.mods.fml.common.IWorldGenerator;
public class WorldGeneratorFire implements IWorldGenerator{
public void generate(Random random, int chunkX, int chunkZ, World world,IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
switch(world.provider.dimensionId){
case -1:
generateNether(world, random, chunkX * 16, chunkZ * 16);
case 0:
generateSurface(world, random, chunkX * 16, chunkZ * 16);
case 1:
generateEnd(world, random, chunkX * 16, chunkZ * 16);
break;
default:
;
}
}
private void addOre(Block block, Block blockSpawn, Random random, World world, int randPosX, int randPosZ, int minY, int maxY, int minVeinSize, int maxVeinSize, int spawnChance){
for(int i = 0; i < spawnChance; i++){
int defaultChunkSize = 16;
int xPos = randPosX + random.nextInt(defaultChunkSize);
int yPos = minY + random.nextInt(maxY - minY);
int zPos = randPosZ + random.nextInt(defaultChunkSize);
new WorldGenMinable(block, (minVeinSize + random.nextInt(maxVeinSize - minVeinSize)), blockSpawn).generate(world, random, xPos, yPos, zPos);
}
}
private void generateEnd(World world, Random random, int chunkX, int chunkZ) {
}
private void generateSurface(World world, Random random, int chunkX ,int chunkZ) {
addOre(ModBlocks.oreAspectFire, Blocks.lava, random, world, chunkX, chunkZ, 0, 64, 10, 20, 25);
}
private void generateNether(World world, Random random, int chunkX,int chunkZ) {
}
}