Guest User

EndOresWorldGen

a guest
Apr 16th, 2015
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.32 KB | None | 0 0
  1. package com.hlaaftana.mods.EndOres.generation;
  2.  
  3. import java.util.Random;
  4.  
  5. import com.hlaaftana.mods.EndOres.handlers.ConfigHandler;
  6. import com.hlaaftana.mods.EndOres.init.ModBlocks;
  7.  
  8. import net.minecraft.block.Block;
  9. import net.minecraft.world.World;
  10. import net.minecraft.world.chunk.IChunkProvider;
  11. import net.minecraft.world.gen.feature.WorldGenMinable;
  12. import cpw.mods.fml.common.IWorldGenerator;
  13.  
  14. public class EndOresWorldGen implements IWorldGenerator {
  15. public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
  16. {
  17. switch (world.provider.dimensionId)
  18. {
  19. case 0:
  20. generateSurface(world, random, chunkX * 16, chunkZ * 16);
  21. case -1:
  22. generateNether(world, random, chunkX * 16, chunkZ * 16);
  23. case 1:
  24. generateEnd(world, random, chunkX * 16, chunkZ * 16);
  25. }
  26. }
  27. private void generateSurface(World world, Random random, int x, int z){
  28.  
  29. }
  30.  
  31. private void generateNether(World world, Random random, int x, int z){
  32.  
  33. }
  34.  
  35. private void generateEnd(World world, Random random, int x, int z){
  36. if(ConfigHandler.generateCoalOre){
  37. addOreSpawn(ModBlocks.oreCoal, world, random, x, z, 16, 16, 16 + random.nextInt(4), ConfigHandler.coalSpawnProbability, ConfigHandler.coalMinY, ConfigHandler.coalMaxY);
  38. }
  39. if(ConfigHandler.generateIronOre){
  40. addOreSpawn(ModBlocks.oreIron, world, random, x, z, 16, 16, 4 + random.nextInt(4), ConfigHandler.ironSpawnProbability, ConfigHandler.ironMinY, ConfigHandler.ironMaxY);
  41. }
  42. if(ConfigHandler.generateGoldOre){
  43. addOreSpawn(ModBlocks.oreGold, world, random, x, z, 16, 16, 4 + random.nextInt(4), ConfigHandler.goldSpawnProbability, ConfigHandler.goldMinY, ConfigHandler.goldMaxY);
  44. }
  45. if(ConfigHandler.generateLapisOre){
  46. addOreSpawn(ModBlocks.oreLapis, world, random, x, z, 16, 16, 4 + random.nextInt(4), ConfigHandler.lapisSpawnProbability, ConfigHandler.lapisMinY, ConfigHandler.lapisMaxY);
  47. }
  48. if(ConfigHandler.generateRedstoneOre){
  49. addOreSpawn(ModBlocks.oreRedstone, world, random, x, z, 16, 16, 4 + random.nextInt(4), ConfigHandler.redstoneSpawnProbability, ConfigHandler.redstoneMinY, ConfigHandler.coalMaxY);
  50. }
  51. if(ConfigHandler.generateDiamondOre){
  52. addOreSpawn(ModBlocks.oreDiamond, world, random, x, z, 16, 16, 4 + random.nextInt(4), ConfigHandler.diamondSpawnProbability, ConfigHandler.diamondMinY, ConfigHandler.diamondMaxY);
  53. }
  54. if(ConfigHandler.generateEmeraldOre){
  55. addOreSpawn(ModBlocks.oreEmerald, world, random, x, z, 16, 16, 4 + random.nextInt(4), ConfigHandler.emeraldSpawnProbability, ConfigHandler.emeraldMinY, ConfigHandler.emeraldMaxY);
  56. }
  57. if(ConfigHandler.generateQuartzOre){
  58. addOreSpawn(ModBlocks.oreQuartz, world, random, x, z, 16, 16, 4 + random.nextInt(4), ConfigHandler.quartzSpawnProbability, ConfigHandler.quartzMinY, ConfigHandler.quartzMaxY);
  59. }
  60. }
  61. private void addOreSpawn(Block block, World world, Random random, int blockXPos, int blockZPos, int maxX, int maxZ, int maxVeinSize, int chanceToSpawn, int minY, int maxY)
  62. {
  63. for (int i = 0; i < chanceToSpawn; i++)
  64. {
  65. int posX = blockXPos + random.nextInt(maxX);
  66. int posY = minY + random.nextInt(maxY - minY);
  67. int posZ = blockZPos + random.nextInt(maxZ);
  68. new WorldGenMinable(block, maxVeinSize).generate(world, random, posX, posY, posZ);
  69. }
  70. }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment