/*******************************************************************************
* AbyssalCraft
* Copyright (c) 2012 - 2017 Shinoow.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl-3.0.txt
*
* Contributors:
* Shinoow - implementation
******************************************************************************/
package com.shinoow.abyssalcraft.common.world.biome;
import java.util.Random;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.gen.feature.WorldGenMinable;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import com.shinoow.abyssalcraft.api.biome.IDarklandsBiome;
import com.shinoow.abyssalcraft.api.block.ACBlocks;
import com.shinoow.abyssalcraft.common.entity.EntityAbyssalZombie;
import com.shinoow.abyssalcraft.common.entity.EntityDepthsGhoul;
import com.shinoow.abyssalcraft.common.entity.EntityShadowBeast;
import com.shinoow.abyssalcraft.common.entity.EntityShadowCreature;
import com.shinoow.abyssalcraft.common.entity.EntityShadowMonster;
import com.shinoow.abyssalcraft.lib.ACConfig;
public class BiomeGenDarklandsMountains extends Biome implements IDarklandsBiome {
@SuppressWarnings("unchecked")
public BiomeGenDarklandsMountains(BiomeProperties par1)
{
super(par1);
topBlock = ACBlocks.darkstone.getDefaultState();
fillerBlock = ACBlocks.darkstone.getDefaultState();
theBiomeDecorator.treesPerChunk = 0;
spawnableMonsterList.add(new SpawnListEntry(EntityDepthsGhoul.class, 45, 1, 2));
spawnableMonsterList.add(new SpawnListEntry(EntityAbyssalZombie.class, 45, 1, 2));
spawnableMonsterList.add(new SpawnListEntry(EntityShadowCreature.class, 60, 1, 3));
spawnableMonsterList.add(new SpawnListEntry(EntityShadowMonster.class, 45, 1, 2));
spawnableMonsterList.add(new SpawnListEntry(EntityShadowBeast.class, 15, 1, 1));
}
@Override
public void decorate(World par1World, Random par2Random, BlockPos pos)
{
super.decorate(par1World, par2Random, pos);
int var5 = 3 + par2Random.nextInt(6);
if(ACConfig.generateAbyssalniteOre)
for (int rarity = 0; rarity < var5; ++rarity)
{
int veinSize = 1 + par2Random.nextInt(3);
int x = par2Random.nextInt(16);
int y = par2Random.nextInt(28) + 4;
int z = par2Random.nextInt(16);
new WorldGenMinable(ACBlocks.abyssalnite_ore.getDefaultState(), veinSize).generate(par1World, par2Random, pos.add(x, y, z));
}
}
@Override
@SideOnly(Side.CLIENT)
public int getSkyColorByTemp(float par1)
{
return 0;
}
@Override
@SideOnly(Side.CLIENT)
public int getGrassColorAtPos(BlockPos pos)
{
return 0x17375c;
}
@Override
@SideOnly(Side.CLIENT)
public int getFoliageColorAtPos(BlockPos pos)
{
return 0x17375c;
}
}