/* * Copyright (c) CovertJaguar, 2014 http://railcraft.info * * This code is the property of CovertJaguar * and may only be used with explicit written * permission unless otherwise specified on the * license page at http://railcraft.info/wiki/info:license. */ package mods.railcraft.common.worldgen; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import java.util.Random; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; import net.minecraftforge.common.BiomeDictionary; import net.minecraftforge.common.util.EnumHelper; import net.minecraftforge.event.terraingen.OreGenEvent; import net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType; import net.minecraftforge.event.terraingen.TerrainGen; /** * * @author CovertJaguar <http://www.railcraft.info> */ public class SulfurGenerator { public static final EventType EVENT_TYPE = EnumHelper.addEnum(EventType.class, "SULFUR", new Class[0], new Object[0]); private final WorldGenerator sulfur = new WorldGenSulfur(); @SubscribeEvent public void generate(OreGenEvent.Post event) { World world = event.world; Random rand = event.rand; int worldX = event.worldX; int worldZ = event.worldZ; if (!TerrainGen.generateOre(world, rand, sulfur, worldX, worldZ, EVENT_TYPE)) return; BiomeGenBase biome = world.getBiomeGenForCoords(worldX + 16, worldZ + 16); if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.MOUNTAIN)) for (int i = 0; i < 90; i++) { int x = worldX + rand.nextInt(16); int y = 6 + rand.nextInt(10); int z = worldZ + rand.nextInt(16); sulfur.generate(world, rand, x, y, z); } } }