package com.projectreddog.machinemod.world; import java.util.Random; import com.projectreddog.machinemod.init.ModBlocks; import com.projectreddog.machinemod.reference.Reference; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.feature.WorldGenMinable; import net.minecraft.world.gen.feature.WorldGenerator; import net.minecraftforge.fml.common.IWorldGenerator; public class MachineModWorldGen implements IWorldGenerator { private WorldGenerator gen_machineMod_CrudeOilStone; public MachineModWorldGen() { this.gen_machineMod_CrudeOilStone = new WorldGenMinable(ModBlocks.machinecrudeoilstone.getDefaultState(), 8); } @Override // public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) { switch (world.provider.getDimension()) {// was get dim id case 0: // Overworld this.runGenerator(this.gen_machineMod_CrudeOilStone, world, random, chunkX, chunkZ, 15, Reference.crudeOilStoneGenMinlevel, Reference.crudeOilStoneGenMaxlevel); break; case -1: // Nether break; case 1: // End break; } } private void runGenerator(WorldGenerator generator, World world, Random rand, int chunk_X, int chunk_Z, int chancesToSpawn, int minHeight, int maxHeight) { if (minHeight < 0 || maxHeight > 256 || minHeight > maxHeight) throw new IllegalArgumentException("Illegal Height Arguments for WorldGenerator"); int heightDiff = maxHeight - minHeight + 1; for (int i = 0; i < chancesToSpawn; i++) { int x = chunk_X * 16 + rand.nextInt(16); int y = minHeight + rand.nextInt(heightDiff); int z = chunk_Z * 16 + rand.nextInt(16); // if (BiomeDictionary.isBiomeOfType(world.getBiomeGenForCoords(new BlockPos(x, y, z)), BiomeDictionary.Type.OCEAN)) { generator.generate(world, rand, new BlockPos(x, y, z)); // } } } }