package minestrapteam.mods.minestrappolation.world;
import minestrapteam.mods.minestrappolation.Config;
import minestrapteam.mods.minestrappolation.world.biomes.BiomeFrost;
import minestrapteam.mods.minestrappolation.world.biomes.BiomeRedwood;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraftforge.common.BiomeDictionary;
import net.minecraftforge.common.BiomeDictionary.Type;
import net.minecraftforge.common.BiomeManager;
import net.minecraftforge.common.BiomeManager.BiomeEntry;
import net.minecraftforge.common.BiomeManager.BiomeType;
public class MBiomeManager
{
private static int nextBiomeID = 50;
public static BiomeGenBase redwood;
public static BiomeGenBase frost;
public static void load()
{
initBiomes();
}
private static void initBiomes()
{
if (Config.genRedwood == true)
{
int redwoodID = nextBiomeID();
redwood = new BiomeRedwood(redwoodID).setBiomeName("Redwood Forest");
registerBiomes(redwood, BiomeType.WARM, Type.FOREST, redwoodID, true);
}
if (Config.genFrost == true)
{
int frostID = nextBiomeID();
frost = new BiomeFrost(frostID).setBiomeName("The Frost");
registerBiomes(frost, BiomeType.ICY, Type.COLD, frostID, false);
}
}
private static void registerBiomes(BiomeGenBase biome, BiomeType type, Type forgeType, int id, boolean canSpawnIn)
{
BiomeDictionary.registerBiomeType(biome, forgeType);
BiomeManager.addBiome(type, new BiomeEntry(biome, id));
if (canSpawnIn)
{
BiomeManager.addSpawnBiome(biome);
}
}
/**
* Gets the next free biome ID
*/
public static int nextBiomeID()
{
for (int id = nextBiomeID; id < 256; id++)
{
if (BiomeGenBase.getBiomeGenArray()[id] == null)
{
nextBiomeID = id;
System.out.println("Found next Biome ID: " + nextBiomeID);
return nextBiomeID;
}
}
return -1;
}
}