Advertisement
djoveryde

World Gen?

Jun 2nd, 2015
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.69 KB | None | 0 0
  1. package com.creativemd.randomadditions.common.world;
  2.  
  3. import com.creativemd.randomadditions.common.systems.ore.SubSystemOre;
  4. import com.creativemd.randomadditions.core.CraftMaterial;
  5. import com.creativemd.randomadditions.core.RandomAdditions;
  6. import cpw.mods.fml.common.IWorldGenerator;
  7. import java.util.ArrayList;
  8. import java.util.Random;
  9. import net.minecraft.block.Block;
  10. import net.minecraft.init.Blocks;
  11. import net.minecraft.world.World;
  12. import net.minecraft.world.WorldProvider;
  13. import net.minecraft.world.chunk.IChunkProvider;
  14. import net.minecraft.world.gen.feature.WorldGenMinable;
  15.  
  16. public class WorldGenerator
  17. implements IWorldGenerator
  18. {
  19. public static boolean generateCopper;
  20. public static boolean generateTin;
  21. public static boolean generateRuby;
  22. public static boolean generateTourmaline;
  23.  
  24. public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
  25. {
  26. switch (world.field_73011_w.field_76574_g)
  27. {
  28. case -1:
  29. generateNether(world, random, chunkX * 16, chunkZ * 16);
  30. case 0:
  31. generateSurface(world, random, chunkX * 16, chunkZ * 16);
  32. }
  33. }
  34.  
  35. public void generateSurface(World world, Random random, int blockX, int blockZ)
  36. {
  37. for (int i = 0; i < RandomAdditions.materials.size(); i++)
  38. {
  39. int meta = SubSystemOre.instance.getMetaByName(((CraftMaterial)RandomAdditions.materials.get(i)).name);
  40. switch (((CraftMaterial)RandomAdditions.materials.get(i)).generateOre)
  41. {
  42. case 1:
  43. addOreSpawn(meta, SubSystemOre.instance.block, world, random, blockX, blockZ, 0, 7, 1, 0, 16);
  44. break;
  45. case 2:
  46. addOreSpawn(meta, SubSystemOre.instance.block, world, random, blockX, blockZ, 0, 8, 2, 0, 32);
  47. break;
  48. case 3:
  49. addOreSpawn(meta, SubSystemOre.instance.block, world, random, blockX, blockZ, 0, 8, 20, 0, 64);
  50. }
  51. }
  52. }
  53.  
  54. public void addOreSpawn(int meta, Block block, World world, Random random, int blockXPos, int blockZPos, int minVeinSize, int maxVeinSize, int chancesToSpawn, int minY, int maxY)
  55. {
  56. WorldGenMinable minable = new WorldGenMinable(block, meta, minVeinSize + random.nextInt(maxVeinSize - minVeinSize), Blocks.field_150348_b);
  57. for (int i = 0; i < chancesToSpawn; i++)
  58. {
  59. int posX = blockXPos + random.nextInt(16);
  60. int posY = minY + random.nextInt(maxY - minY);
  61. int posZ = blockZPos + random.nextInt(16);
  62. minable.func_76484_a(world, random, posX, posY, posZ);
  63. }
  64. }
  65.  
  66. public void generateNether(World world, Random random, int blockX, int blockY) {}
  67.  
  68. public String getName()
  69. {
  70. return "Random Additions";
  71. }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement