SumCurveAsset class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.assets.curves
Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/curves/SumCurveAsset.java
extends: CurveAsset
Поля (8)
| Модификаторы | Тип | Имя |
|---|---|---|
|
Double2DoubleFunction[] |
var1 |
|
Double2DoubleFunction |
var3 |
|
double |
var3 |
|
Double2DoubleFunction |
var4 |
|
Double2DoubleFunction |
var5 |
|
Double2DoubleFunction |
var6 |
|
Double2DoubleFunction |
var7 |
|
Double2DoubleFunction |
var8 |
Методы (5)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(int var2 = 0; var2 < this.curveAssets.length; var2++) |
|
|
for for(Double2DoubleFunction var8 : var1) |
|
|
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 SumCurveAsset class="kw">extends CurveAsset {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<SumCurveAsset> CODEC = BuilderCodec.builder(SumCurveAsset.class, SumCurveAsset::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 SumCurveAsset() {
}
@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 -> 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 -> var5.applyAsDouble(var3x) + var3.applyAsDouble(var3x) + var4.applyAsDouble(var3x);
} else {
class="kw">return var1x -> {
double var3 = 0.0;
for (Double2DoubleFunction var8 : var1) {
var3 += var8.applyAsDouble(var1x);
}
class="kw">return var3;
};
}
}
@Override
class="kw">public void cleanUp() {
for (CurveAsset var4 : this.curveAssets) {
var4.cleanUp();
}
}
}