AbstractDistortedShape class

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

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

implements: DistortedShape

Поля (1)

МодификаторыТипИмя
final double PITCH_MIN

Методы (1)

МодификаторыВозвратСигнатура
static double clampPitchdouble clampPitch(double var0)

Исходный код

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

class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class="kw">abstract class AbstractDistortedShape class="kw">implements DistortedShape {
   class="kw">private class="kw">static class="kw">final double PITCH_MIN = Math.toRadians(5.0);
   class="kw">private class="kw">static class="kw">final double PITCH_MAX = Math.toRadians(175.0);
   class="kw">private class="kw">final int lowBoundX;
   class="kw">private class="kw">final int lowBoundY;
   class="kw">private class="kw">final int lowBoundZ;
   class="kw">private class="kw">final int highBoundX;
   class="kw">private class="kw">final int highBoundY;
   class="kw">private class="kw">final int highBoundZ;

   class="kw">public AbstractDistortedShape(@Nonnull Vector3d var1, double var2, double var4, double var6) {
      this.lowBoundX = MathUtil.floor(var1.x - var2);
      this.lowBoundY = MathUtil.floor(var1.y - var4);
      this.lowBoundZ = MathUtil.floor(var1.z - var6);
      this.highBoundX = MathUtil.ceil(var1.x + var2);
      this.highBoundY = MathUtil.ceil(var1.y + var4);
      this.highBoundZ = MathUtil.ceil(var1.z + var6);
   }

   class="kw">public AbstractDistortedShape(@Nonnull Vector3d var1, @Nonnull Vector3d var2, double var3, double var5) {
      this.lowBoundX = MathUtil.floor(Math.min(var1.x, var1.x + var2.x) - var3);
      this.lowBoundY = MathUtil.floor(Math.min(var1.y, var1.y + var2.y) - var5);
      this.lowBoundZ = MathUtil.floor(Math.min(var1.z, var1.z + var2.z) - var3);
      this.highBoundX = MathUtil.ceil(Math.max(var1.x, var1.x + var2.x) + var3);
      this.highBoundY = MathUtil.ceil(Math.max(var1.y, var1.y + var2.y) + var5);
      this.highBoundZ = MathUtil.ceil(Math.max(var1.z, var1.z + var2.z) + var3);
   }

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

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

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

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

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

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

   class="kw">public class="kw">static double clampPitch(double var0) {
      class="kw">return MathUtil.clamp(var0, PITCH_MIN, PITCH_MAX);
   }
}