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();
}
}