Factory class
Пакет: com.hypixel.hytale.server.worldgen.cave.shape.distorted
Файл: com/hypixel/hytale/server/worldgen/cave/shape/distorted/DistortedPipeShape.java
implements: DistortedShape.Factory
Поля (4)
| Модификаторы | Тип | Имя |
|---|---|---|
|
double |
var18 |
|
double |
var20 |
|
double |
var22 |
|
double |
var24 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
return new |
DistortedPipeShapereturn new DistortedPipeShape(var1, var2, var5, var7, var9, var11, var13, var15, var22, var24, var18, var17) |
|
public DistortedShape |
createpublic DistortedShape create(@Nonnull Vector3d var1,
@Nonnull Vector3d var2,
double var3,
double var5,
double var7,
double var9,
double var11,
double var13,
double var15,
GeneralNoise.InterpolationFunction var17) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.cave.shape.distorted;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.procedurallib.logic.GeneralNoise;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">public class DistortedPipeShape class="kw">extends DistortedCylinderShape {
class="kw">private class="kw">final double compensation;
class="kw">public DistortedPipeShape(
@Nonnull Vector3d var1,
@Nonnull Vector3d var2,
double var3,
double var5,
double var7,
double var9,
double var11,
double var13,
double var15,
double var17,
double var19,
GeneralNoise.InterpolationFunction var21
) {
super(var1, var2, var3, var5, var7, var9, var11, var13, var15, var17, var21);
this.compensation = var19;
}
@Override
class="kw">public double getWidthAt(double var1) {
class="kw">return getCompensatedDim(var1, this.startWidth, this.midWidth, this.endWidth, this.compensation, this.interpolation);
}
@Override
class="kw">public double getHeightAt(double var1) {
class="kw">return getCompensatedDim(var1, this.startHeight, this.midHeight, this.endHeight, this.compensation, this.interpolation);
}
@Override
class="kw">public boolean isValidProjection(double var1) {
class="kw">return true;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "DistortedPipeShape{origin="
+ this.o
+ ", direction="
+ this.v
+ ", startWidth="
+ this.startWidth
+ ", startHeight="
+ this.startHeight
+ ", midWidth="
+ this.midWidth
+ ", midHeight="
+ this.midHeight
+ ", endWidth="
+ this.endWidth
+ ", endHeight="
+ this.endHeight
+ "}";
}
class="kw">protected class="kw">static double getCompensatedDim(double var0, double var2, double var4, double var6, double var8, @Nonnull GeneralNoise.InterpolationFunction var10) {
if (var0 <= 0.0) {
double var16 = 1.0 - MathUtil.clamp(var0, -0.5, 0.0) * -2.0;
var16 = var10.interpolate(var16);
class="kw">return MathUtil.lerp(var2, var2 * var16, var8);
} else if (var0 >= 1.0) {
double var11 = 1.0 - MathUtil.clamp(var0 - 1.0, 0.0, 0.5) * 2.0;
var11 = var10.interpolate(var11);
class="kw">return MathUtil.lerp(var6, var6 * var11, var8);
} else if (var0 <= 0.5) {
var0 = var10.interpolate(var0 * 2.0);
class="kw">return MathUtil.lerpUnclamped(var2, var4, var0);
} else {
var0 = var10.interpolate((var0 - 0.5) * 2.0);
class="kw">return MathUtil.lerpUnclamped(var4, var6, var0);
}
}
class="kw">public class="kw">static class Factory class="kw">implements DistortedShape.Factory {
class="kw">public Factory() {
}
@Nonnull
@Override
class="kw">public DistortedShape create(
@Nonnull Vector3d var1,
@Nonnull Vector3d var2,
double var3,
double var5,
double var7,
double var9,
double var11,
double var13,
double var15,
GeneralNoise.InterpolationFunction var17
) {
double var18 = DistortedCylinderShape.getCompensationFactor(var2);
double var20 = DistortedCylinderShape.getHeightCompensation(var18);
var7 *= var20;
var11 *= var20;
var15 *= var20;
double var22 = MathUtil.maxValue(var5, var9, var13);
double var24 = MathUtil.maxValue(var7, var11, var15);
class="kw">return new DistortedPipeShape(var1, var2, var5, var7, var9, var11, var13, var15, var22, var24, var18, var17);
}
}
}