CurveNoiseProperty class

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

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

implements: NoiseProperty

Поля (7)

МодификаторыТипИмя
protected static final double MAX
protected final double a
protected final double b
final NoiseProperty noise
var1
double var6
double var8

Методы (3)

МодификаторыВозвратСигнатура
public PowerCurvepublic PowerCurve(double var1, double var3)
public double applyAsDoublepublic double applyAsDouble(double var1)
public String toStringpublic String toString()

Исходный код

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

class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import java.util.function.DoubleUnaryOperator;
class="kw">import javax.annotation.Nonnull;

class="kw">public class CurveNoiseProperty class="kw">implements NoiseProperty {
   class="kw">protected class="kw">final NoiseProperty noise;
   class="kw">protected class="kw">final DoubleUnaryOperator function;

   class="kw">public CurveNoiseProperty(NoiseProperty var1, DoubleUnaryOperator var2) {
      this.noise = var1;
      this.function = var2;
   }

   @Override
   class="kw">public double get(int var1, double var2, double var4) {
      double var6 = this.noise.get(var1, var2, var4);
      class="kw">return this.function.applyAsDouble(var6);
   }

   @Override
   class="kw">public double get(int var1, double var2, double var4, double var6) {
      double var8 = this.noise.get(var1, var2, var4, var6);
      class="kw">return this.function.applyAsDouble(var8);
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "CurveNoiseProperty{noise=" + this.noise + ", function=" + this.function + "}";
   }

   class="kw">public class="kw">static class PowerCurve class="kw">implements DoubleUnaryOperator {
      class="kw">protected class="kw">static class="kw">final double MAX = 10.0;
      class="kw">protected class="kw">final double a;
      class="kw">protected class="kw">final double b;

      class="kw">public PowerCurve(double var1, double var3) {
         this.a = MathUtil.clamp(var1, 0.0, 10.0);
         this.b = MathUtil.clamp(var3, -this.a, 10.0);
      }

      @Override
      class="kw">public double applyAsDouble(double var1) {
         var1 = 1.0 - var1;
         class="kw">return 1.0 - Math.pow(var1, this.a + this.b * var1);
      }

      @Nonnull
      @Override
      class="kw">public String toString() {
         class="kw">return "PowerCurve{a=" + this.a + ", b=" + this.b + "}";
      }
   }
}