MinCurveAsset class

Пакет: com.hypixel.hytale.builtin.hytalegenerator.assets.curves

Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/curves/MinCurveAsset.java

extends: CurveAsset

Поля (9)

МодификаторыТипИмя
Double2DoubleFunction[] var1
Double2DoubleFunction var3
double var3
var3
Double2DoubleFunction var4
Double2DoubleFunction var5
Double2DoubleFunction var6
Double2DoubleFunction var7
Double2DoubleFunction var8

Методы (5)

МодификаторыВозвратСигнатура
for for(int var2 = 0; var2 < this.curveAssets.length; var2++)
for for(int var5 = 1; var5 < var1.length; var5++)
for for(CurveAsset var4 : this.curveAssets)
if if(this.curveAssets.length == 0)
if if(var1.length == 1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.assets.curves;

class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import it.unimi.dsi.fastutil.doubles.Double2DoubleFunction;
class="kw">import javax.annotation.Nonnull;

class="kw">public class MinCurveAsset class="kw">extends CurveAsset {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<MinCurveAsset> CODEC = BuilderCodec.builder(MinCurveAsset.class, MinCurveAsset::new, CurveAsset.ABSTRACT_CODEC)
      .append(
         new KeyedCodec<>("Curves", new ArrayCodec<>(CurveAsset.CODEC, CurveAsset[]::new), true),
         (var0, var1) -> var0.curveAssets = var1,
         var0 -> var0.curveAssets
      )
      .add()
      .build();
   class="kw">private CurveAsset[] curveAssets = new CurveAsset[0];

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

   @Nonnull
   @Override
   class="kw">public Double2DoubleFunction build() {
      if (this.curveAssets.length == 0) {
         class="kw">return var0 -> 0.0;
      }

      Double2DoubleFunction[] var1 = new Double2DoubleFunction[this.curveAssets.length];

      for (int var2 = 0; var2 < this.curveAssets.length; var2++) {
         var1[var2] = this.curveAssets[var2].build();
      }

      if (var1.length == 1) {
         Double2DoubleFunction var7 = var1[0];
         class="kw">return var7::applyAsDouble;
      } else if (var1.length == 2) {
         Double2DoubleFunction var6 = var1[0];
         Double2DoubleFunction var8 = var1[1];
         class="kw">return var2x -> Math.min(var6.applyAsDouble(var2x), var8.applyAsDouble(var2x));
      } else if (var1.length == 3) {
         Double2DoubleFunction var5 = var1[0];
         Double2DoubleFunction var3 = var1[1];
         Double2DoubleFunction var4 = var1[2];
         class="kw">return var3x -> Math.min(Math.min(var5.applyAsDouble(var3x), var3.applyAsDouble(var3x)), var4.applyAsDouble(var3x));
      } else {
         class="kw">return var1x -> {
            double var3 = var1[0].applyAsDouble(var1x);

            for (int var5 = 1; var5 < var1.length; var5++) {
               var3 = Math.min(var3, var1[var5].applyAsDouble(var1x));
            }

            class="kw">return var3;
         };
      }
   }

   @Override
   class="kw">public void cleanUp() {
      for (CurveAsset var4 : this.curveAssets) {
         var4.cleanUp();
      }
   }
}