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