PowerCurve class
Пакет: com.hypixel.hytale.procedurallib.property
Файл: com/hypixel/hytale/procedurallib/property/CurveNoiseProperty.java
implements: DoubleUnaryOperator
Поля (4)
| Модификаторы | Тип | Имя |
|---|---|---|
|
protected static final double |
MAX |
|
protected final double |
a |
|
protected final double |
b |
|
|
var1 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public double |
applyAsDoublepublic double applyAsDouble(double var1) |
|
public String |
toStringpublic String toString() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.procedurallib.property;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import java.util.function.DoubleUnaryOperator;
class="kw">import javax.annotation.Nonnull;
class="kw">public class CurveNoiseProperty class="kw">implements NoiseProperty {
class="kw">protected class="kw">final NoiseProperty noise;
class="kw">protected class="kw">final DoubleUnaryOperator function;
class="kw">public CurveNoiseProperty(NoiseProperty var1, DoubleUnaryOperator var2) {
this.noise = var1;
this.function = var2;
}
@Override
class="kw">public double get(int var1, double var2, double var4) {
double var6 = this.noise.get(var1, var2, var4);
class="kw">return this.function.applyAsDouble(var6);
}
@Override
class="kw">public double get(int var1, double var2, double var4, double var6) {
double var8 = this.noise.get(var1, var2, var4, var6);
class="kw">return this.function.applyAsDouble(var8);
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "CurveNoiseProperty{noise=" + this.noise + ", function=" + this.function + "}";
}
class="kw">public class="kw">static class PowerCurve class="kw">implements DoubleUnaryOperator {
class="kw">protected class="kw">static class="kw">final double MAX = 10.0;
class="kw">protected class="kw">final double a;
class="kw">protected class="kw">final double b;
class="kw">public PowerCurve(double var1, double var3) {
this.a = MathUtil.clamp(var1, 0.0, 10.0);
this.b = MathUtil.clamp(var3, -this.a, 10.0);
}
@Override
class="kw">public double applyAsDouble(double var1) {
var1 = 1.0 - var1;
class="kw">return 1.0 - Math.pow(var1, this.a + this.b * var1);
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "PowerCurve{a=" + this.a + ", b=" + this.b + "}";
}
}
}