Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.josh.gomc;
- import java.util.Random;
- import cpw.mods.fml.common.IWorldGenerator;
- import net.minecraft.init.Blocks;
- import net.minecraft.world.World;
- import net.minecraft.world.chunk.IChunkProvider;
- import net.minecraft.world.gen.feature.WorldGenMinable;
- import net.minecraft.world.gen.feature.WorldGenerator;
- public class GOMCWorldGen implements IWorldGenerator{
- private WorldGenerator gen_ChaosOre; //Generates Chaos Ore
- private WorldGenerator gen_OrdOre; //Generates Order Ore
- private WorldGenerator gen_CaelumOre; //Generates Caelum Ore
- private WorldGenerator gen_WeakOrsOre; //Generates Weak Orsus Ore
- private WorldGenerator gen_InfernumOre;
- public GOMCWorldGen() {
- this.gen_ChaosOre = new WorldGenMinable(Main.blockChaosOre, 5, Blocks.netherrack);
- this.gen_OrdOre = new WorldGenMinable(Main.blockOrdOre, 7, Blocks.end_stone);
- this.gen_CaelumOre = new WorldGenMinable(Main.blockCaelumOre, 3, Blocks.air);
- this.gen_WeakOrsOre = new WorldGenMinable(Main.blockWeakOrsOre, 5);
- this.gen_InfernumOre = new WorldGenMinable(Main.blockInfernumOre, 7, Blocks.lava);
- }
- 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);
- generator.generate(world, rand, x, y, z);
- }
- }
- @Override
- public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator,IChunkProvider chunkProvider){
- switch (world.provider.dimensionId) {
- case 0: //Overworld
- this.runGenerator(this.gen_CaelumOre, world, random, chunkX, chunkZ, 1, 150, 255);
- this.runGenerator(this.gen_WeakOrsOre, world, random, chunkX, chunkZ, 15, 30, 60);
- break;
- case -1: //Nether
- this.runGenerator(this.gen_ChaosOre, world, random, chunkX, chunkZ, 10, 0, 100);
- this.runGenerator(this.gen_InfernumOre, world, random, chunkX, chunkZ, 20, 0, 200);
- break;
- case 1: //End
- this.runGenerator(this.gen_OrdOre, world, random, chunkX, chunkZ, 25, 0, 100);
- break;
- }
- }
- }
Add Comment
Please, Sign In to add comment