Factory class

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

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

implements: DistortedShape.Factory

Поля (6)

МодификаторыТипИмя
double var18
double var20
double var22
double var24
double var26
double var28

Методы (2)

МодификаторыВозвратСигнатура
public DistortedShape createpublic DistortedShape create(Vector3d var1, @Nonnull Vector3d var2, double var3, double var5, double var7, double var9, double var11, double var13, double var15, GeneralNoise.InterpolationFunction var17)
abstract protected abstract DistortedShape createShapeprotected abstract DistortedShape createShape(Vector3d var1, Vector3d var2, double var3, double var5, double var7, double var9, double var11, GeneralNoise.InterpolationFunction var13)

Исходный код

Показать/скрыть
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.math.util.TrigMathUtil;
class="kw">import com.hypixel.hytale.procedurallib.logic.GeneralNoise;
class="kw">import com.hypixel.hytale.procedurallib.random.CoordinateRotator;
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 AbstractDistortedBody class="kw">extends AbstractDistortedShape {
   @Nonnull
   class="kw">protected class="kw">final Vector3d o;
   class="kw">protected class="kw">final Vector3d v;
   @Nonnull
   class="kw">protected class="kw">final CoordinateRotator rotation;

   class="kw">public AbstractDistortedBody(@Nonnull Vector3d var1, Vector3d var2, double var3, double var5, double var7, double var9, double var11) {
      this(var1, var2, new CoordinateRotator(var5, var3), var7, var9, var11);
   }

   class="kw">private AbstractDistortedBody(@Nonnull Vector3d var1, Vector3d var2, @Nonnull CoordinateRotator var3, double var4, double var6, double var8) {
      super(var1, maxX(var3, var4, var6, var8), maxY(var3, var4, var6, var8), maxZ(var3, var4, var6, var8));
      this.o = var1;
      this.v = var2;
      this.rotation = var3;
   }

   class="kw">protected class="kw">abstract double getHeight(int var1, double var2, double var4, double var6, double var8, CaveType var10, ShapeDistortion var11);

   @Nonnull
   @Override
   class="kw">public Vector3d getStart() {
      class="kw">return new Vector3d(this.o.x, this.getHighBoundY(), this.o.z);
   }

   @Nonnull
   @Override
   class="kw">public Vector3d getEnd() {
      class="kw">return new Vector3d(this.o.x, this.getLowBoundY(), this.o.z);
   }

   @Override
   class="kw">public double getHeightAtProjection(int var1, double var2, double var4, double var6, double var8, CaveType var10, ShapeDistortion var11) {
      double var12 = var2 - this.o.x;
      double var14 = var4 - this.o.z;
      var2 = this.o.x + this.rotation.rotateX(var12, 0.0, var14);
      var4 = this.o.z + this.rotation.rotateZ(var12, 0.0, var14);
      class="kw">return this.getHeight(var1, var2, var4, var6, var8, var10, var11);
   }

   @Override
   class="kw">public double getFloor(double var1, double var3, double var5, double var7) {
      double var9 = var1 - this.o.x;
      double var11 = var3 - this.o.z;
      double var13 = this.rotation.rotateY(var9, -var7, var11);
      class="kw">return var5 + var13;
   }

   @Override
   class="kw">public double getCeiling(double var1, double var3, double var5, double var7) {
      double var9 = var1 - this.o.x;
      double var11 = var3 - this.o.z;
      double var13 = this.rotation.rotateY(var9, var7, var11);
      class="kw">return var5 + var13;
   }

   class="kw">private class="kw">static double maxX(@Nonnull CoordinateRotator var0, double var1, double var3, double var5) {
      double var7 = Math.abs(var0.rotateX(var1, var3, var5));
      double var9 = Math.abs(var0.rotateX(-var1, var3, var5));
      class="kw">return MathUtil.maxValue(var7, var9);
   }

   class="kw">private class="kw">static double maxY(@Nonnull CoordinateRotator var0, double var1, double var3, double var5) {
      double var7 = Math.abs(var0.rotateY(var1, var3, var5));
      double var9 = Math.abs(var0.rotateY(var1, -var3, var5));
      class="kw">return Math.max(var7, var9);
   }

   class="kw">private class="kw">static double maxZ(@Nonnull CoordinateRotator var0, double var1, double var3, double var5) {
      double var7 = Math.abs(var0.rotateZ(var1, var3, var5));
      double var9 = Math.abs(var0.rotateZ(var1, var3, -var5));
      class="kw">return MathUtil.maxValue(var7, var9);
   }

   class="kw">protected class="kw">abstract class="kw">static class Factory class="kw">implements DistortedShape.Factory {
      class="kw">protected Factory() {
      }

      @Override
      class="kw">public DistortedShape create(
         Vector3d var1,
         @Nonnull Vector3d var2,
         double var3,
         double var5,
         double var7,
         double var9,
         double var11,
         double var13,
         double var15,
         GeneralNoise.InterpolationFunction var17
      ) {
         double var24 = 1.0 / var2.length();
         double var18 = var2.x * var24;
         double var20 = var2.y * var24;
         double var22 = var2.z * var24;
         double var26 = TrigMathUtil.atan2(var18, var22);
         double var28 = TrigMathUtil.asin(-var20);
         class="kw">return this.createShape(var1, var2, var26, var28, var5, var7, var3, var17);
      }

      class="kw">protected class="kw">abstract DistortedShape createShape(
         Vector3d var1, Vector3d var2, double var3, double var5, double var7, double var9, double var11, GeneralNoise.InterpolationFunction var13
      );
   }
}