Guest User

Untitled

a guest
Nov 16th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.28 KB | None | 0 0
  1. package DarkMessiahMods;
  2.  
  3. import java.util.Random;
  4.  
  5. import net.minecraft.src.Block;
  6. import net.minecraft.src.MathHelper;
  7. import net.minecraft.src.World;
  8. import net.minecraft.src.WorldGenerator;
  9.  
  10. public class WorldGenMinableNetherForDarkMessiahsMods extends WorldGenerator
  11. {
  12. /** The block ID of the ore to be placed using this generator. */
  13. private int minableBlockId;
  14.  
  15. private int metadata;
  16.  
  17. /** The number of blocks to generate. */
  18. private int numberOfBlocks;
  19.  
  20. public WorldGenMinableNetherForDarkMessiahsMods(int par1, int par2)
  21. {
  22. minableBlockId = par1;
  23. numberOfBlocks = par2;
  24. }
  25.  
  26. public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5)
  27. {
  28. float f = par2Random.nextFloat() * (float)Math.PI;
  29. double d = (float)(par3 + 8) + (MathHelper.sin(f) * (float)numberOfBlocks) / 8F;
  30. double d1 = (float)(par3 + 8) - (MathHelper.sin(f) * (float)numberOfBlocks) / 8F;
  31. double d2 = (float)(par5 + 8) + (MathHelper.cos(f) * (float)numberOfBlocks) / 8F;
  32. double d3 = (float)(par5 + 8) - (MathHelper.cos(f) * (float)numberOfBlocks) / 8F;
  33. double d4 = (par4 + par2Random.nextInt(3)) - 2;
  34. double d5 = (par4 + par2Random.nextInt(3)) - 2;
  35.  
  36. for (int i = 0; i <= numberOfBlocks; i++)
  37. {
  38. double d6 = d + ((d1 - d) * (double)i) / (double)numberOfBlocks;
  39. double d7 = d4 + ((d5 - d4) * (double)i) / (double)numberOfBlocks;
  40. double d8 = d2 + ((d3 - d2) * (double)i) / (double)numberOfBlocks;
  41. double d9 = (par2Random.nextDouble() * (double)numberOfBlocks) / 16D;
  42. double d10 = (double)(MathHelper.sin(((float)i * (float)Math.PI) / (float)numberOfBlocks) + 1.0F) * d9 + 1.0D;
  43. double d11 = (double)(MathHelper.sin(((float)i * (float)Math.PI) / (float)numberOfBlocks) + 1.0F) * d9 + 1.0D;
  44. int j = MathHelper.floor_double(d6 - d10 / 2D);
  45. int k = MathHelper.floor_double(d7 - d11 / 2D);
  46. int l = MathHelper.floor_double(d8 - d10 / 2D);
  47. int i1 = MathHelper.floor_double(d6 + d10 / 2D);
  48. int j1 = MathHelper.floor_double(d7 + d11 / 2D);
  49. int k1 = MathHelper.floor_double(d8 + d10 / 2D);
  50.  
  51. for (int l1 = j; l1 <= i1; l1++)
  52. {
  53. double d12 = (((double)l1 + 0.5D) - d6) / (d10 / 2D);
  54.  
  55. if (d12 * d12 >= 1.0D)
  56. {
  57. continue;
  58. }
  59.  
  60. for (int i2 = k; i2 <= j1; i2++)
  61. {
  62. double d13 = (((double)i2 + 0.5D) - d7) / (d11 / 2D);
  63.  
  64. if (d12 * d12 + d13 * d13 >= 1.0D)
  65. {
  66. continue;
  67. }
  68.  
  69. for (int j2 = l; j2 <= k1; j2++)
  70. {
  71. double d14 = (((double)j2 + 0.5D) - d8) / (d10 / 2D);
  72.  
  73. if (d12 * d12 + d13 * d13 + d14 * d14 < 1.0D && par1World.getBlockId(l1, i2, j2) ==Block.netherrack.blockID)
  74. {
  75. par1World.setBlock(l1, i2, j2, minableBlockId);
  76. }
  77. }
  78. }
  79. }
  80. }
  81.  
  82. return true;
  83. }
  84. }
Add Comment
Please, Sign In to add comment