EmptyLineCaveNodeShape class

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

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

extends: AbstractCaveNodeShape

implements: IWorldBounds

Поля (7)

МодификаторыТипИмя
private final IDoubleRange length
final Vector3d o
double var1
Vector3d var10
double var3
double var5
double var8

Методы (4)

МодификаторыВозвратСигнатура
public EmptyLineCaveNodeShapeGeneratorpublic EmptyLineCaveNodeShapeGenerator(IDoubleRange var1)
abstract return new Vector3dreturn new Vector3d(this.o)
abstract return new Vector3dreturn new Vector3d(var1, var3, var5)
public CaveNodeShape generateCaveNodeShapepublic CaveNodeShape generateCaveNodeShape(@Nonnull Random var1, CaveType var2, CaveNode var3, CaveNodeType.CaveNodeChildEntry var4, Vector3d var5, float var6, float var7)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.cave.shape;

class="kw">import com.hypixel.hytale.math.util.TrigMathUtil;
class="kw">import com.hypixel.hytale.procedurallib.supplier.IDoubleRange;
class="kw">import com.hypixel.hytale.server.worldgen.cave.CaveNodeType;
class="kw">import com.hypixel.hytale.server.worldgen.cave.CaveType;
class="kw">import com.hypixel.hytale.server.worldgen.cave.element.CaveNode;
class="kw">import com.hypixel.hytale.server.worldgen.util.bounds.IWorldBounds;
class="kw">import java.util.Random;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class EmptyLineCaveNodeShape class="kw">extends AbstractCaveNodeShape class="kw">implements IWorldBounds {
   class="kw">private class="kw">final Vector3d o;
   class="kw">private class="kw">final Vector3d v;

   class="kw">public EmptyLineCaveNodeShape(Vector3d var1, Vector3d var2) {
      this.o = var1;
      this.v = var2;
   }

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

   @Nonnull
   @Override
   class="kw">public Vector3d getEnd() {
      double var1 = this.o.x + this.v.x;
      double var3 = this.o.y + this.v.y;
      double var5 = this.o.z + this.v.z;
      class="kw">return new Vector3d(var1, var3, var5);
   }

   @Nonnull
   @Override
   class="kw">public Vector3d getAnchor(@Nonnull Vector3d var1, double var2, double var4, double var6) {
      class="kw">return CaveNodeShapeUtils.getLineAnchor(var1, this.o, this.v, var2);
   }

   @Nonnull
   @Override
   class="kw">public IWorldBounds getBounds() {
      class="kw">return this;
   }

   @Override
   class="kw">public int getLowBoundX() {
      class="kw">return 0;
   }

   @Override
   class="kw">public int getLowBoundZ() {
      class="kw">return 0;
   }

   @Override
   class="kw">public int getHighBoundX() {
      class="kw">return 0;
   }

   @Override
   class="kw">public int getHighBoundZ() {
      class="kw">return 0;
   }

   @Override
   class="kw">public int getLowBoundY() {
      class="kw">return 0;
   }

   @Override
   class="kw">public int getHighBoundY() {
      class="kw">return 0;
   }

   @Override
   class="kw">public boolean shouldReplace(int var1, double var2, double var4, int var6) {
      class="kw">return false;
   }

   @Override
   class="kw">public double getFloorPosition(int var1, double var2, double var4) {
      class="kw">return -1.0;
   }

   @Override
   class="kw">public double getCeilingPosition(int var1, double var2, double var4) {
      class="kw">return -1.0;
   }

   @Override
   class="kw">public boolean hasGeometry() {
      class="kw">return false;
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "EmptyLineCaveNodeShape{o=" + this.o + ", v=" + this.v + "}";
   }

   class="kw">public class="kw">static class EmptyLineCaveNodeShapeGenerator class="kw">implements CaveNodeShapeEnum.CaveNodeShapeGenerator {
      class="kw">private class="kw">final IDoubleRange length;

      class="kw">public EmptyLineCaveNodeShapeGenerator(IDoubleRange var1) {
         this.length = var1;
      }

      @Nonnull
      @Override
      class="kw">public CaveNodeShape generateCaveNodeShape(
         @Nonnull Random var1, CaveType var2, CaveNode var3, CaveNodeType.CaveNodeChildEntry var4, Vector3d var5, float var6, float var7
      ) {
         double var8 = this.length.getValue(var1.nextDouble());
         Vector3d var10 = new Vector3d(TrigMathUtil.sin(var7) * TrigMathUtil.cos(var6), TrigMathUtil.cos(var7), TrigMathUtil.sin(var7) * TrigMathUtil.sin(var6))
            .mul(var8);
         class="kw">return new EmptyLineCaveNodeShape(var5, var10);
      }
   }
}