ScaledXYResponseCurve class

Пакет: com.hypixel.hytale.server.core.asset.type.responsecurve

Файл: com/hypixel/hytale/server/core/asset/type/responsecurve/ScaledXYResponseCurve.java

extends: ScaledXResponseCurve

Поля (4)

МодификаторыТипИмя
final BuilderCodec<ScaledXYResponseCurve> CODEC
double var3
double var5
double var7

Методы (2)

МодификаторыВозвратСигнатура
public double[] getYRangedouble[] getYRange()
abstract super super(var1, var2)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.asset.type.responsecurve;

class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import java.util.Arrays;
class="kw">import javax.annotation.Nonnull;

class="kw">public class ScaledXYResponseCurve class="kw">extends ScaledXResponseCurve {
   class="kw">public class="kw">static class="kw">final BuilderCodec<ScaledXYResponseCurve> CODEC = BuilderCodec.<ScaledXResponseCurve>builder(
         ScaledXYResponseCurve.class, ScaledXYResponseCurve::new, ScaledXResponseCurve.CODEC
      )
      .documentation("A response curve that is scaled on both the x and y axes.")
      .<double[]>append(
         new KeyedCodec<>("YRange", Codec.DOUBLE_ARRAY), (var0, var1) -> var0.yRange = var1, var0 -> new double[]{var0.yRange[0], var0.yRange[1]}
      )
      .documentation("The range to map the y axis to. e.g. [ 0, 10 ]")
      .addValidator(Validators.doubleArraySize(2))
      .addValidator(Validators.monotonicSequentialDoubleArrayValidator())
      .add()
      .build();
   class="kw">protected double[] yRange = DEFAULT_RANGE;

   class="kw">public ScaledXYResponseCurve(String var1, double[] var2, double[] var3) {
      super(var1, var2);
      this.yRange = var3;
   }

   class="kw">protected ScaledXYResponseCurve() {
   }

   class="kw">public double[] getYRange() {
      class="kw">return this.yRange;
   }

   @Override
   class="kw">public double computeY(double var1) {
      double var3 = this.computeNormalisedY(var1);
      double var5 = this.yRange[0];
      double var7 = this.yRange[1];
      class="kw">return MathUtil.clamp(var5 + (var7 - var5) * var3, var5, var7);
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "ScaledXYResponseCurve{yRange=" + Arrays.toString(this.yRange) + "} " + super.toString();
   }
}