MrDood_Modding

GOMCWorldGen.java

Feb 3rd, 2017
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.50 KB | None | 0 0
  1. package com.josh.gomc;
  2.  
  3. import java.util.Random;
  4.  
  5.  
  6.  
  7. import cpw.mods.fml.common.IWorldGenerator;
  8. import net.minecraft.init.Blocks;
  9. import net.minecraft.world.World;
  10. import net.minecraft.world.chunk.IChunkProvider;
  11. import net.minecraft.world.gen.feature.WorldGenMinable;
  12. import net.minecraft.world.gen.feature.WorldGenerator;
  13.  
  14. public class GOMCWorldGen implements IWorldGenerator{
  15.    
  16.     private WorldGenerator gen_ChaosOre; //Generates Chaos Ore
  17.     private WorldGenerator gen_OrdOre; //Generates Order Ore
  18.     private WorldGenerator gen_CaelumOre; //Generates Caelum Ore
  19.     private WorldGenerator gen_WeakOrsOre; //Generates Weak Orsus Ore
  20.     private WorldGenerator gen_InfernumOre;
  21.  
  22.  
  23.     public GOMCWorldGen() {
  24.         this.gen_ChaosOre = new WorldGenMinable(Main.blockChaosOre, 5, Blocks.netherrack);
  25.         this.gen_OrdOre = new WorldGenMinable(Main.blockOrdOre, 7, Blocks.end_stone);
  26.         this.gen_CaelumOre = new WorldGenMinable(Main.blockCaelumOre, 3, Blocks.air);
  27.         this.gen_WeakOrsOre = new WorldGenMinable(Main.blockWeakOrsOre, 5);
  28.         this.gen_InfernumOre = new WorldGenMinable(Main.blockInfernumOre, 7, Blocks.lava);
  29.     }
  30.     private void runGenerator(WorldGenerator generator, World world, Random rand, int chunk_X, int chunk_Z, int chancesToSpawn, int minHeight, int maxHeight) {
  31.         if (minHeight < 0 || maxHeight > 256 || minHeight > maxHeight)
  32.             throw new IllegalArgumentException("Illegal Height Arguments for WorldGenerator");
  33.  
  34.         int heightDiff = maxHeight - minHeight + 1;
  35.         for (int i = 0; i < chancesToSpawn; i ++) {
  36.             int x = chunk_X * 16 + rand.nextInt(16);
  37.             int y = minHeight + rand.nextInt(heightDiff);
  38.             int z = chunk_Z * 16 + rand.nextInt(16);
  39.             generator.generate(world, rand, x, y, z);
  40.         }
  41.     }
  42.     @Override
  43.     public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator,IChunkProvider chunkProvider){
  44.        
  45.         switch (world.provider.dimensionId) {
  46.         case 0: //Overworld
  47.             this.runGenerator(this.gen_CaelumOre, world, random, chunkX, chunkZ, 1, 150, 255);
  48.             this.runGenerator(this.gen_WeakOrsOre, world, random, chunkX, chunkZ, 15, 30, 60);
  49.             break;
  50.         case -1: //Nether
  51.             this.runGenerator(this.gen_ChaosOre, world, random, chunkX, chunkZ, 10, 0, 100);
  52.             this.runGenerator(this.gen_InfernumOre, world, random, chunkX, chunkZ, 20, 0, 200);
  53.             break;
  54.         case 1: //End
  55.             this.runGenerator(this.gen_OrdOre, world, random, chunkX, chunkZ, 25, 0, 100);
  56.             break;
  57.         }
  58.     }
  59. }
Add Comment
Please, Sign In to add comment