AbstractDistortedExtrusion class

Пакет: com.hypixel.hytale.server.worldgen.cave.shape.distorted

Файл: com/hypixel/hytale/server/worldgen/cave/shape/distorted/AbstractDistortedExtrusion.java

extends: AbstractDistortedShape

Поля (9)

МодификаторыТипИмя
final GeneralNoise.InterpolationFunction interpolation
double var12
double var14
double var16
var16
double var18
double var20
var20
var20

Методы (6)

МодификаторыВозвратСигнатура
abstract abstract double getDistanceSqdouble getDistanceSq(double var1, double var3, double var5)
abstract abstract double getHeightComponentdouble getHeightComponent(double var1, double var3, double var5)
if if(var14 > var16)
if if(var14 > var16)
if if(var18 == 0.0)
abstract super super(var1, var2, var3, var5)

Исходный код

Показать/скрыть
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 com.hypixel.hytale.server.worldgen.cave.CaveType;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class="kw">abstract class AbstractDistortedExtrusion class="kw">extends AbstractDistortedShape {
   class="kw">protected class="kw">final GeneralNoise.InterpolationFunction interpolation;

   class="kw">public AbstractDistortedExtrusion(@Nonnull Vector3d var1, @Nonnull Vector3d var2, double var3, double var5, GeneralNoise.InterpolationFunction var7) {
      super(var1, var2, var3, var5);
      this.interpolation = var7;
   }

   class="kw">protected class="kw">abstract double getDistanceSq(double var1, double var3, double var5);

   class="kw">protected class="kw">abstract double getHeightComponent(double var1, double var3, double var5);

   @Override
   class="kw">public double getHeightAtProjection(int var1, double var2, double var4, double var6, double var8, @Nonnull CaveType var10, @Nonnull ShapeDistortion var11) {
      double var12 = this.getWidthAt(var6);
      var12 *= var10.getHeightRadiusFactor(var1, var2, var4, MathUtil.floor(var8));
      double var14 = this.getDistanceSq(var2, var4, var6);
      double var16 = var12 * var12;
      if (var14 > var16) {
         class="kw">return 0.0;
      }

      var12 *= var11.getWidthFactor(var1, var2, var4);
      var16 = var12 * var12;
      if (var14 > var16) {
         class="kw">return 0.0;
      }

      double var18 = this.getHeightAt(var6);
      if (var18 == 0.0) {
         class="kw">return 0.0;
      }

      double var20 = this.getHeightComponent(var12, var16, var14);
      var20 = MathUtil.clamp(var20, 0.0, 1.0);
      var20 = this.interpolation.interpolate(var20);
      class="kw">return var18 * var20;
   }
}