Advertisement
Guest User

Untitled

a guest
Jan 29th, 2015
293
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. package com.CrystalMod.world;
  2.  
  3. import java.util.Random;
  4.  
  5. import com.CrystalMod.CrystalMod;
  6.  
  7. import net.minecraft.block.Block;
  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 cpw.mods.fml.common.IWorldGenerator;
  13.  
  14. public class CrystalManager implements IWorldGenerator{
  15.  
  16. @Override
  17. public void generate(Random random, int chunkX, int chunkZ, World world,
  18. IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
  19. switch(world.provider.dimensionId){
  20. case -1: generateNether(world, random, chunkX*16,
  21.  
  22. chunkZ*16);
  23. case 0: generateSurface(world, random, chunkX*16,
  24.  
  25. chunkZ*16);
  26. case 1: generateEnd(world, random, chunkX*16,
  27.  
  28. chunkZ*16);
  29. }
  30. }
  31. private void generateSurface(World world, Random random, int i, int j) {
  32.  
  33. }
  34. private void generateSurface(World world, Random random, int x, int z, int y)
  35. {
  36. if(world.getBlock(x, y, z) == Blocks.stone && world.getBlock(x, y+1, z) == Blocks.air)
  37. {
  38.  
  39. }addOreSpawn(CrystalMod.Aqua_SmallCrystal, world,
  40.  
  41. random, x, z, 16, 16, 16, 128, 15, 160 );
  42. }
  43.  
  44. private void generateEnd(World world, Random random, int x,
  45.  
  46. int z) {
  47. // add a call here to spawn in the End
  48. }
  49.  
  50. private void generateNether(World world, Random random, int x,
  51.  
  52. int z) {
  53. // add a call here to spawn in the Nether
  54. }
  55.  
  56. public void addOreSpawn(Block block, World world,
  57.  
  58. Random random, int blockXPos, int blockZPos,
  59.  
  60. int maxX, int maxZ, int maxVeinSize,
  61.  
  62. int chancesToSpawn, int minY, int maxY)
  63. {
  64. int maxPossY = minY + (maxY - 1);
  65. int diffBtwnMinMaxY = maxY - minY;
  66. for(int x = 0; x < chancesToSpawn; x++)
  67. {
  68. int posX = blockXPos + random.nextInt(maxX);
  69. int posY = minY + random.nextInt(diffBtwnMinMaxY);
  70. int posZ = blockZPos + random.nextInt(maxZ);
  71. (new WorldGenMinable(CrystalMod.Aqua_SmallCrystal,
  72. maxVeinSize)).generate(world, random,
  73.  
  74. posX, posY, posZ);
  75. }
  76. }
  77.  
  78.  
  79.  
  80.  
  81.  
  82. //if(world.getBlock(x, y, z) == Blocks.stone && world.getBlock(x, y+1, z) == Blocks.air)
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement