AbstractDistortedBody class

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

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

extends: AbstractDistortedShape

Поля (22)

МодификаторыТипИмя
double var11
double var11
double var12
double var13
double var13
double var14
double var18
var2
double var20
double var22
double var24
double var26
double var28
var4
double var7
double var7
double var7
double var9
double var9
double var9
double var9
double var9

Методы (7)

МодификаторыВозвратСигнатура
protected Factoryprotected Factory()
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)
abstract abstract double getHeightdouble getHeight(int var1, double var2, double var4, double var6, double var8, CaveType var10, ShapeDistortion var11)
static double maxXdouble maxX(@Nonnull CoordinateRotator var0, double var1, double var3, double var5)
static double maxYdouble maxY(@Nonnull CoordinateRotator var0, double var1, double var3, double var5)
static double maxZdouble maxZ(@Nonnull CoordinateRotator var0, double var1, double var3, double 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.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
      );
   }
}