Package extrabiomes.module.summa.worldgen

Source Code of extrabiomes.module.summa.worldgen.LegendOakGenerator

/**
* This work is licensed under the Creative Commons
* Attribution-ShareAlike 3.0 Unported License. To view a copy of this
* license, visit http://creativecommons.org/licenses/by-sa/3.0/.
*/

package extrabiomes.module.summa.worldgen;

import java.util.Random;

import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.feature.WorldGenerator;
import cpw.mods.fml.common.IWorldGenerator;
import extrabiomes.lib.BiomeSettings;

public class LegendOakGenerator implements IWorldGenerator
{
   
    private final WorldGenerator treeGen;
   
    public LegendOakGenerator()
    {
        treeGen = new WorldGenLegendOak(false);
    }
   
    @Override
    public void generate(Random rand, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
    {
        chunkX = chunkX << 4;
        chunkZ = chunkZ << 4;
        int rarity = 0;
        final BiomeGenBase biome = world.getBiomeGenForCoords(chunkX, chunkX);
       
        if (biome == BiomeGenBase.forest || biome == BiomeGenBase.forestHills
                || BiomeSettings.FORESTEDHILLS.getBiome().isPresent() && biome == BiomeSettings.FORESTEDHILLS.getBiome().get()
                || BiomeSettings.FORESTEDISLAND.getBiome().isPresent() && biome == BiomeSettings.FORESTEDISLAND.getBiome().get()
                || BiomeSettings.RAINFOREST.getBiome().isPresent() && biome == BiomeSettings.RAINFOREST.getBiome().get())
        {
            rarity = 100;
        }
       
        if (biome == BiomeGenBase.plains || biome == BiomeGenBase.extremeHillsEdge)
        {
            rarity = 1000;
        }
       
        if (rarity == 0)
            return;
       
        if (rand.nextInt(rarity) == 0)
        {
            final int x = chunkX + rand.nextInt(16) + 8;
            final int z = chunkZ + rand.nextInt(16) + 8;
            final int y = world.getHeightValue(x, z);
            treeGen.generate(world, rand, x, y, z);
        }
    }
}
TOP

Related Classes of extrabiomes.module.summa.worldgen.LegendOakGenerator

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.