CylinderShape class

Пакет: com.hypixel.hytale.builtin.triggervolumes.shape

Файл: com/hypixel/hytale/builtin/triggervolumes/shape/CylinderShape.java

extends: TriggerVolumeShape

Поля (13)

МодификаторыТипИмя
double var1
double var1
double var11
double var13
double var3
double var3
double var4
double var5
double var5
double var6
double var7
double var8
double var9

Методы (3)

МодификаторыВозвратСигнатура
public double getHeightdouble getHeight()
public double getRadiusdouble getRadius()
if if(var9 * var9 + var11 * var11 > this.radius * this.radius)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.triggervolumes.YawRotation;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.math.vector.Vector3dUtil;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class CylinderShape class="kw">extends TriggerVolumeShape {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<CylinderShape> CODEC = BuilderCodec.builder(CylinderShape.class, CylinderShape::new, BASE_CODEC)
      .append(new KeyedCodec<>("Center", Vector3dUtil.CODEC), (var0, var1) -> var0.center = var1, var0 -> var0.center)
      .add()
      .append(new KeyedCodec<>("Radius", Codec.DOUBLE), (var0, var1) -> var0.radius = var1, var0 -> var0.radius)
      .add()
      .append(new KeyedCodec<>("Height", Codec.DOUBLE), (var0, var1) -> var0.height = var1, var0 -> var0.height)
      .add()
      .build();
   class="kw">private Vector3d center = new Vector3d();
   class="kw">private double radius;
   class="kw">private double height;

   class="kw">public CylinderShape() {
   }

   class="kw">public CylinderShape(@Nonnull Vector3d var1, double var2, double var4) {
      this.center = var1;
      this.radius = var2;
      this.height = var4;
   }

   @Override
   class="kw">public boolean contains(@Nonnull Vector3d var1, @Nonnull Vector3d var2) {
      double var3 = var1.x() + this.center.x();
      double var5 = var1.z() + this.center.z();
      double var7 = var1.y() + this.center.y();
      double var9 = var2.x() - var3;
      double var11 = var2.z() - var5;
      if (var9 * var9 + var11 * var11 > this.radius * this.radius) {
         class="kw">return false;
      }

      double var13 = var2.y();
      class="kw">return var13 >= var7 && var13 <= var7 + this.height;
   }

   @Override
   class="kw">public double getBoundingRadius() {
      double var1 = this.height * 0.5;
      class="kw">return Math.sqrt(this.radius * this.radius + var1 * var1);
   }

   @Override
   class="kw">public double getMaxDistanceFromOrigin() {
      double var1 = this.height * 0.5;
      double var3 = this.center.y() + var1;
      double var5 = Math.sqrt(this.center.x() * this.center.x() + var3 * var3 + this.center.z() * this.center.z());
      class="kw">return var5 + Math.sqrt(this.radius * this.radius + var1 * var1);
   }

   @Override
   class="kw">public void getWorldAABB(@Nonnull Vector3d var1, @Nonnull Vector3d var2, @Nonnull Vector3d var3) {
      double var4 = var1.x() + this.center.x();
      double var6 = var1.y() + this.center.y();
      double var8 = var1.z() + this.center.z();
      var2.set(var4 - this.radius, var6, var8 - this.radius);
      var3.set(var4 + this.radius, var6 + this.height, var8 + this.radius);
   }

   @Override
   class="kw">public void rotateInPlace(float var1) {
      if (!(Math.abs(var1) < 1.0E-6F)) {
         YawRotation.rotate(this.center, var1);
      }
   }

   @Nonnull
   class="kw">public CylinderShape copy() {
      class="kw">return new CylinderShape(new Vector3d(this.center), this.radius, this.height);
   }

   @Nonnull
   class="kw">public Vector3d getCenter() {
      class="kw">return this.center;
   }

   class="kw">public double getRadius() {
      class="kw">return this.radius;
   }

   class="kw">public double getHeight() {
      class="kw">return this.height;
   }
}