FractalFunction interface

Пакет: com.hypixel.hytale.procedurallib.property

Файл: com/hypixel/hytale/procedurallib/property/FractalNoiseProperty.java

Методы (2)

МодификаторыВозвратСигнатура
abstract double getdouble get(int var1, int var2, double var3, double var5, int var7, double var8, double var10, NoiseFunction2d var12)
abstract double getdouble get(int var1, int var2, double var3, double var5, double var7, int var9, double var10, double var12, NoiseFunction3d var14)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.procedurallib.property;

class="kw">import com.hypixel.hytale.procedurallib.NoiseFunction;
class="kw">import com.hypixel.hytale.procedurallib.NoiseFunction2d;
class="kw">import com.hypixel.hytale.procedurallib.NoiseFunction3d;
class="kw">import com.hypixel.hytale.procedurallib.logic.GeneralNoise;
class="kw">import javax.annotation.Nonnull;

class="kw">public class FractalNoiseProperty class="kw">implements NoiseProperty {
   class="kw">protected class="kw">final int seedOffset;
   class="kw">protected class="kw">final NoiseFunction function;
   class="kw">protected class="kw">final FractalNoiseProperty.FractalFunction fractalFunction;
   class="kw">protected class="kw">final int octaves;
   class="kw">protected class="kw">final double lacunarity;
   class="kw">protected class="kw">final double persistence;

   class="kw">public FractalNoiseProperty(int var1, NoiseFunction var2, FractalNoiseProperty.FractalFunction var3, int var4, double var5, double var7) {
      this.seedOffset = var1;
      this.function = var2;
      this.fractalFunction = var3;
      this.octaves = var4;
      this.lacunarity = var5;
      this.persistence = var7;
   }

   class="kw">public int getSeedOffset() {
      class="kw">return this.seedOffset;
   }

   class="kw">public NoiseFunction getFunction() {
      class="kw">return this.function;
   }

   class="kw">public FractalNoiseProperty.FractalFunction getFractalFunction() {
      class="kw">return this.fractalFunction;
   }

   class="kw">public int getOctaves() {
      class="kw">return this.octaves;
   }

   class="kw">public double getLacunarity() {
      class="kw">return this.lacunarity;
   }

   class="kw">public double getPersistence() {
      class="kw">return this.persistence;
   }

   @Override
   class="kw">public double get(int var1, double var2, double var4) {
      class="kw">return this.fractalFunction.get(var1, var1 + this.seedOffset, var2, var4, this.octaves, this.lacunarity, this.persistence, this.function);
   }

   @Override
   class="kw">public double get(int var1, double var2, double var4, double var6) {
      class="kw">return this.fractalFunction.get(var1, var1 + this.seedOffset, var2, var4, var6, this.octaves, this.lacunarity, this.persistence, this.function);
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "FractalNoiseProperty{seedOffset="
         + this.seedOffset
         + ", function="
         + this.function
         + ", fractalFunction="
         + this.fractalFunction
         + ", octaves="
         + this.octaves
         + ", lacunarity="
         + this.lacunarity
         + ", persistence="
         + this.persistence
         + "}";
   }

   class="kw">private class="kw">interface FractalFunction {
      double get(int var1, int var2, double var3, double var5, int var7, double var8, double var10, NoiseFunction2d var12);

      double get(int var1, int var2, double var3, double var5, double var7, int var9, double var10, double var12, NoiseFunction3d var14);
   }

   class="kw">public enum FractalMode {
      FBM(new FractalNoiseProperty.FractalFunction() {
         @Override
         class="kw">public double get(int var1, int var2, double var3, double var5, int var7, double var8, double var10, @Nonnull NoiseFunction2d var12) {
            double var13 = var12.get(var1, var2, var3, var5);
            double var15 = 1.0;

            for (int var17 = 1; var17 < var7; var17++) {
               var3 *= var8;
               var5 *= var8;
               var15 *= var10;
               var13 += var12.get(var1, ++var2, var3, var5) * var15;
            }

            class="kw">return GeneralNoise.limit(var13 * 0.5 + 0.5);
         }

         @Override
         class="kw">public double get(int var1, int var2, double var3, double var5, double var7, int var9, double var10, double var12, @Nonnull NoiseFunction3d var14) {
            double var15 = var14.get(var1, var2, var3, var5, var7);
            double var17 = 1.0;

            for (int var19 = 1; var19 < var9; var19++) {
               var3 *= var10;
               var5 *= var10;
               var7 *= var10;
               var17 *= var12;
               var15 += var14.get(var1, ++var2, var3, var5, var7) * var17;
            }

            class="kw">return GeneralNoise.limit(var15 * 0.5 + 0.5);
         }

         @Nonnull
         @Override
         class="kw">public String toString() {
            class="kw">return "FbmFractalFunction{}";
         }
      }),
      BILLOW(new FractalNoiseProperty.FractalFunction() {
         @Override
         class="kw">public double get(int var1, int var2, double var3, double var5, int var7, double var8, double var10, @Nonnull NoiseFunction2d var12) {
            double var13 = Math.abs(var12.get(var1, var2, var3, var5)) * 2.0 - 1.0;
            double var15 = 1.0;

            for (int var17 = 1; var17 < var7; var17++) {
               var3 *= var8;
               var5 *= var8;
               var15 *= var10;
               var2++;
               var13 += (Math.abs(var12.get(var1, var2, var3, var5)) * 2.0 - 1.0) * var15;
            }

            class="kw">return GeneralNoise.limit(var13 * 0.5 + 0.5);
         }

         @Override
         class="kw">public double get(int var1, int var2, double var3, double var5, double var7, int var9, double var10, double var12, @Nonnull NoiseFunction3d var14) {
            double var15 = Math.abs(var14.get(var1, var2, var3, var5, var7)) * 2.0 - 1.0;
            double var17 = 1.0;

            for (int var19 = 1; var19 < var9; var19++) {
               var3 *= var10;
               var5 *= var10;
               var7 *= var10;
               var17 *= var12;
               var2++;
               var15 += (Math.abs(var14.get(var1, var2, var3, var5, var7)) * 2.0 - 1.0) * var17;
            }

            class="kw">return GeneralNoise.limit(var15 * 0.5 + 0.5);
         }

         @Nonnull
         @Override
         class="kw">public String toString() {
            class="kw">return "BillowFractalFunction{}";
         }
      }),
      MULTI_RIGID(new FractalNoiseProperty.FractalFunction() {
         @Override
         class="kw">public double get(int var1, int var2, double var3, double var5, int var7, double var8, double var10, @Nonnull NoiseFunction2d var12) {
            double var13 = 1.0 - Math.abs(var12.get(var1, var2, var3, var5));
            double var15 = 1.0;

            for (int var17 = 1; var17 < var7; var17++) {
               var3 *= var8;
               var5 *= var8;
               var15 *= var10;
               var2++;
               var13 -= (1.0 - Math.abs(var12.get(var1, var2, var3, var5))) * var15;
            }

            class="kw">return GeneralNoise.limit(var13 * 0.5 + 0.5);
         }

         @Override
         class="kw">public double get(int var1, int var2, double var3, double var5, double var7, int var9, double var10, double var12, @Nonnull NoiseFunction3d var14) {
            double var15 = 1.0 - Math.abs(var14.get(var1, var2, var3, var5, var7));
            double var17 = 1.0;

            for (int var19 = 1; var19 < var9; var19++) {
               var3 *= var10;
               var5 *= var10;
               var7 *= var10;
               var17 *= var12;
               var2++;
               var15 -= (1.0 - Math.abs(var14.get(var1, var2, var3, var5, var7))) * var17;
            }

            class="kw">return GeneralNoise.limit(var15 * 0.5 + 0.5);
         }

         @Nonnull
         @Override
         class="kw">public String toString() {
            class="kw">return "MultiRigidFractalFunction{}";
         }
      }),
      OLDSCHOOL(new FractalNoiseProperty.FractalFunction() {
         @Override
         class="kw">public double get(int var1, int var2, double var3, double var5, int var7, double var8, double var10, @Nonnull NoiseFunction2d var12) {
            double var13 = 0.0;
            double var15 = 1.0;
            int var17 = 1;
            double var18 = 0.0;
            var1--;

            for (int var20 = 0; var20 < var7; var20++) {
               var18 += var12.get(var1, var2++, var3 * var17, var5 * var17) * var15;
               var13 += var15;
               var15 *= var10;
               var17 <<= 1;
            }

            var18 /= var13;
            var18 *= 0.5;
            class="kw">return var18 + 0.5;
         }

         @Override
         class="kw">public double get(int var1, int var2, double var3, double var5, double var7, int var9, double var10, double var12, @Nonnull NoiseFunction3d var14) {
            double var15 = 0.0;
            double var17 = 1.0;
            int var19 = 1;
            double var20 = 0.0;
            var1--;

            for (int var22 = 0; var22 < var9; var22++) {
               var20 += var14.get(var1, var2++, var3 * var19, var5 * var19, var7 * var19) * var17;
               var15 += var17;
               var17 *= var12;
               var19 <<= 1;
            }

            var20 /= var15;
            var20 *= 0.5;
            class="kw">return var20 + 0.5;
         }

         @Nonnull
         @Override
         class="kw">public String toString() {
            class="kw">return "OldschoolFractalFunction{}";
         }
      }),
      MIN(new FractalNoiseProperty.FractalFunction() {
         @Override
         class="kw">public double get(int var1, int var2, double var3, double var5, int var7, double var8, double var10, @Nonnull NoiseFunction2d var12) {
            double var13 = var12.get(var1, var2, var3, var5);

            for (int var15 = 1; var15 < var7; var15++) {
               var3 *= var8;
               var5 *= var8;
               double var16 = var12.get(var1, ++var2, var3, var5);
               if (var16 < var13) {
                  var13 = var16;
               }
            }

            class="kw">return GeneralNoise.limit(var13 * 0.5 + 0.5);
         }

         @Override
         class="kw">public double get(int var1, int var2, double var3, double var5, double var7, int var9, double var10, double var12, @Nonnull NoiseFunction3d var14) {
            double var15 = var14.get(var1, var2, var3, var5, var7);

            for (int var17 = 1; var17 < var9; var17++) {
               var3 *= var10;
               var5 *= var10;
               double var18 = var14.get(var1, ++var2, var3, var5, var7);
               if (var18 < var15) {
                  var15 = var18;
               }
            }

            class="kw">return GeneralNoise.limit(var15 * 0.5 + 0.5);
         }

         @Nonnull
         @Override
         class="kw">public String toString() {
            class="kw">return "MinFractalFunction{}";
         }
      }),
      MAX(new FractalNoiseProperty.FractalFunction() {
         @Override
         class="kw">public double get(int var1, int var2, double var3, double var5, int var7, double var8, double var10, @Nonnull NoiseFunction2d var12) {
            double var13 = var12.get(var1, var2, var3, var5);

            for (int var15 = 1; var15 < var7; var15++) {
               var3 *= var8;
               var5 *= var8;
               double var16 = var12.get(var1, ++var2, var3, var5);
               if (var16 > var13) {
                  var13 = var16;
               }
            }

            class="kw">return GeneralNoise.limit(var13 * 0.5 + 0.5);
         }

         @Override
         class="kw">public double get(int var1, int var2, double var3, double var5, double var7, int var9, double var10, double var12, @Nonnull NoiseFunction3d var14) {
            double var15 = var14.get(var1, var2, var3, var5, var7);

            for (int var17 = 1; var17 < var9; var17++) {
               var3 *= var10;
               var5 *= var10;
               double var18 = var14.get(var1, ++var2, var3, var5, var7);
               if (var18 > var15) {
                  var15 = var18;
               }
            }

            class="kw">return GeneralNoise.limit(var15 * 0.5 + 0.5);
         }

         @Nonnull
         @Override
         class="kw">public String toString() {
            class="kw">return "MaxFractalFunction{}";
         }
      });

      class="kw">private class="kw">final FractalNoiseProperty.FractalFunction function;

      FractalMode(FractalNoiseProperty.FractalFunction nullxx) {
         this.function = nullxx;
      }

      class="kw">public FractalNoiseProperty.FractalFunction getFunction() {
         class="kw">return this.function;
      }
   }
}