Package extrabiomes.module.amica.buildcraft

Source Code of extrabiomes.module.amica.buildcraft.OilGenerator

package extrabiomes.module.amica.buildcraft;

import java.util.Random;

import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.chunk.IChunkProvider;
import cpw.mods.fml.common.IWorldGenerator;
import extrabiomes.lib.BiomeSettings;

public class OilGenerator implements IWorldGenerator
{
   
    private final BuildcraftAPI api;
   
    OilGenerator(BuildcraftAPI api)
    {
        this.api = api;
    }
   
    private void doPopulate(Random rand, World world, int x, int z)
    {
        final BiomeGenBase biome = world.getWorldChunkManager()
                .getBiomeGenAt(x, z);
       
        if (((BiomeSettings.MOUNTAINDESERT.getBiome().isPresent() && biome == BiomeSettings.MOUNTAINDESERT.getBiome().get())
                || (BiomeSettings.WASTELAND.getBiome().isPresent() && biome == BiomeSettings.WASTELAND.getBiome().get()))
                && rand.nextFloat() > 0.97)
        {
            // Generate a small deposit
           
            final int startX = rand.nextInt(10) + 2;
            final int startZ = rand.nextInt(10) + 2;
           
            for (int j = 128; j > 65; --j)
            {
                final int i = startX + x;
                final int k = startZ + z;
               
                final Block block = world.getBlock(i, j, k);
                if (!block.isAir(world, i, j, k))
                {
                    if (block.equals(Blocks.sand)
                            || (BiomeSettings.WASTELAND.getBiome().isPresent() && block.equals(BiomeSettings.WASTELAND.getBiome().get().topBlock)))
                        api.generateSurfaceDeposit(world, rand, i, j, k, 3);
                   
                    break;
                }
            }
        }
    }
   
    @Override
    public void generate(Random random, int chunkX, int chunkZ,
            World world, IChunkProvider chunkGenerator,
            IChunkProvider chunkProvider)
    {
        chunkX = chunkX << 4;
        chunkZ = chunkZ << 4;
       
        doPopulate(random, world, chunkX, chunkZ);
    }
   
}
TOP

Related Classes of extrabiomes.module.amica.buildcraft.OilGenerator

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.