Guest User

Untitled

a guest
Apr 5th, 2015
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.29 KB | None | 0 0
  1. package net.imrblurr.manyores.world;
  2.  
  3. import java.util.Random;
  4. import net.imrblurr.manyores.handlers.ConfigHandler;
  5. import net.imrblurr.manyores.init.MOBlocks;
  6. import net.minecraft.block.Block;
  7. import net.minecraft.block.state.pattern.BlockHelper;
  8. import net.minecraft.init.Blocks;
  9. import net.minecraft.util.BlockPos;
  10. import net.minecraft.world.World;
  11. import net.minecraft.world.chunk.IChunkProvider;
  12. import net.minecraft.world.gen.feature.WorldGenMinable;
  13. import net.minecraftforge.fml.common.IWorldGenerator;
  14.  
  15. public class MOWorldGeneration implements IWorldGenerator
  16. {
  17.     public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
  18.     {
  19.         switch (world.provider.getDimensionId())
  20.         {
  21.             case 0:
  22.                 generateSurface(world, random, new BlockPos(chunkX * 16, 64, chunkZ * 16));
  23.             case -1:
  24.                 generateNether(world, random, chunkX * 16, chunkZ * 16);
  25.             case 1:
  26.                 generateEnd(world, random, chunkX * 16, chunkZ * 16);
  27.         }
  28.     }
  29.  
  30.     private void generateSurface(World world, Random random, BlockPos pos){
  31.         if (ConfigHandler.generateObsidianOre){
  32.             addOreSpawn(MOBlocks.obsidian_ore, world, random, pos, 16, 16, 5 + random.nextInt(3), ConfigHandler.obsidianSpawnProbability, ConfigHandler.obsidianMinY, ConfigHandler.obsidianMaxY, BlockHelper.forBlock(Blocks.stone));
  33.         }
  34.         if (ConfigHandler.generateEnderOre){
  35.             addOreSpawn(MOBlocks.ender_ore, world, random, pos, 16, 16, 3 + random.nextInt(3), ConfigHandler.enderSpawnProbability, ConfigHandler.enderMinY, ConfigHandler.enderMaxY, BlockHelper.forBlock(Blocks.stone));
  36.         }
  37.     }
  38.  
  39.     private void generateNether(World world, Random random, int x, int z){
  40.    
  41.     }
  42.  
  43.     private void generateEnd(World world, Random random, int x, int z){
  44.     }
  45.  
  46.     private void addOreSpawn(Block block, World world, Random random, BlockPos pos, int maxX, int maxZ, int maxVeinSize, int chanceToSpawn, int minY, int maxY, BlockHelper blockHelper)
  47.     {
  48.         WorldGenMinable mine = new WorldGenMinable(block.getDefaultState(), maxVeinSize);
  49.        
  50.         for (int i = 0; i < chanceToSpawn; i++)
  51.         {  
  52.             int x = pos.getX() + random.nextInt(maxX);
  53.             int y = minY + random.nextInt(maxY = minY);
  54.             int z = pos.getZ() + random.nextInt(maxZ);
  55.            
  56.             mine.generate(world, random, new BlockPos(x, y, z));
  57.         }
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment