public virtual double[] GenerateNoiseOctaves(double[] par1ArrayOfDouble, int par2, int par3, int par4, int par5, int par6, int par7, double par8, double par10, double par12) { if (par1ArrayOfDouble == null) { par1ArrayOfDouble = new double[par5 * par6 * par7]; } else { for (int i = 0; i < par1ArrayOfDouble.Length; i++) { par1ArrayOfDouble[i] = 0.0F; } } double d = 1.0D; for (int j = 0; j < Octaves; j++) { double d1 = (double)par2 * d * par8; double d2 = (double)par3 * d * par10; double d3 = (double)par4 * d * par12; long l = MathHelper2.Floor_double_long(d1); long l1 = MathHelper2.Floor_double_long(d3); d1 -= l; d3 -= l1; l %= 0x1000000L; l1 %= 0x1000000L; d1 += l; d3 += l1; GeneratorCollection[j].Func_805_a(par1ArrayOfDouble, d1, d2, d3, par5, par6, par7, par8 * d, par10 * d, par12 * d, d); d /= 2D; } return(par1ArrayOfDouble); }