Multiple class

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

Файл: com/hypixel/hytale/procedurallib/supplier/DoubleRange.java

implements: IDoubleRange

Поля (9)

МодификаторыТипИмя
protected final double[] thresholds
protected final double[] values
double var10
double var12
double var14
double var3
var3
double var6
double var8

Методы (10)

МодификаторыВозвратСигнатура
for for(int var5 = 0; var5 < this.thresholds.length; var5++)
public double getValuepublic double getValue(double var1)
public double getValuepublic double getValue(@Nonnull DoubleSupplier var1)
public double getValuepublic double getValue(@Nonnull Random var1)
public double getValuepublic double getValue(int var1, double var2, double var4, @Nonnull IDoubleCoordinateSupplier2d var6)
public double getValuepublic double getValue(int var1, double var2, double var4, double var6, @Nonnull IDoubleCoordinateSupplier3d var8)
if if(var1 > this.thresholds[this.thresholds.length - 1])
if if(var1 < var6)
if if(var5 == 0)
public String toStringpublic String toString()

Исходный код

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

class="kw">import java.util.Arrays;
class="kw">import java.util.Random;
class="kw">import java.util.function.DoubleSupplier;
class="kw">import javax.annotation.Nonnull;

class="kw">public class DoubleRange {
   class="kw">public class="kw">static class="kw">final DoubleRange.Constant ZERO = new DoubleRange.Constant(0.0);
   class="kw">public class="kw">static class="kw">final DoubleRange.Constant ONE = new DoubleRange.Constant(1.0);

   class="kw">public DoubleRange() {
   }

   class="kw">public class="kw">static class Constant class="kw">implements IDoubleRange {
      class="kw">protected class="kw">final double result;

      class="kw">public Constant(double var1) {
         this.result = var1;
      }

      class="kw">public double getResult() {
         class="kw">return this.result;
      }

      @Override
      class="kw">public double getValue(double var1) {
         class="kw">return this.result;
      }

      @Override
      class="kw">public double getValue(DoubleSupplier var1) {
         class="kw">return this.result;
      }

      @Override
      class="kw">public double getValue(Random var1) {
         class="kw">return this.result;
      }

      @Override
      class="kw">public double getValue(int var1, double var2, double var4, IDoubleCoordinateSupplier2d var6) {
         class="kw">return this.result;
      }

      @Override
      class="kw">public double getValue(int var1, double var2, double var4, double var6, IDoubleCoordinateSupplier3d var8) {
         class="kw">return this.result;
      }

      @Nonnull
      @Override
      class="kw">public String toString() {
         class="kw">return "DoubleRange.Constant{result=" + this.result + "}";
      }
   }

   class="kw">public class="kw">static class Multiple class="kw">implements IDoubleRange {
      class="kw">protected class="kw">final double[] thresholds;
      class="kw">protected class="kw">final double[] values;

      class="kw">public Multiple(double[] var1, double[] var2) {
         this.thresholds = var1;
         this.values = var2;
      }

      @Override
      class="kw">public double getValue(double var1) {
         if (var1 > this.thresholds[this.thresholds.length - 1]) {
            class="kw">return this.values[this.values.length - 1];
         }

         double var3 = 0.0;

         for (int var5 = 0; var5 < this.thresholds.length; var5++) {
            double var6 = this.thresholds[var5];
            if (var1 < var6) {
               if (var5 == 0) {
                  class="kw">return this.values[0];
               }

               double var8 = (var1 - var3) / (var6 - var3);
               double var10 = this.values[var5 - 1];
               double var12 = this.values[var5];
               double var14 = var12 - var10;
               class="kw">return var10 + var8 * var14;
            }

            var3 = var6;
         }

         class="kw">return 0.0;
      }

      @Override
      class="kw">public double getValue(@Nonnull DoubleSupplier var1) {
         class="kw">return this.getValue(var1.getAsDouble());
      }

      @Override
      class="kw">public double getValue(@Nonnull Random var1) {
         class="kw">return this.getValue(var1.nextDouble());
      }

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

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

      @Nonnull
      @Override
      class="kw">public String toString() {
         class="kw">return "Multiple{thresholds=" + Arrays.toString(this.thresholds) + ", values=" + Arrays.toString(this.values) + "}";
      }
   }

   class="kw">public class="kw">static class Normal class="kw">implements IDoubleRange {
      class="kw">protected class="kw">final double min;
      class="kw">protected class="kw">final double range;

      class="kw">public Normal(double var1, double var3) {
         this.min = var1;
         this.range = var3 - var1;
      }

      class="kw">public double getMin() {
         class="kw">return this.min;
      }

      class="kw">public double getRange() {
         class="kw">return this.range;
      }

      @Override
      class="kw">public double getValue(double var1) {
         class="kw">return this.min + this.range * var1;
      }

      @Override
      class="kw">public double getValue(@Nonnull DoubleSupplier var1) {
         class="kw">return this.min + this.range * var1.getAsDouble();
      }

      @Override
      class="kw">public double getValue(@Nonnull Random var1) {
         class="kw">return this.getValue(var1.nextDouble());
      }

      @Override
      class="kw">public double getValue(int var1, double var2, double var4, @Nonnull IDoubleCoordinateSupplier2d var6) {
         class="kw">return this.min + this.range * var6.get(var1, var2, var4);
      }

      @Override
      class="kw">public double getValue(int var1, double var2, double var4, double var6, @Nonnull IDoubleCoordinateSupplier3d var8) {
         class="kw">return this.min + this.range * var8.get(var1, var2, var4, var6);
      }

      @Nonnull
      @Override
      class="kw">public String toString() {
         class="kw">return "DoubleRange.Normal{min=" + this.min + ", range=" + this.range + "}";
      }
   }
}