SphereShape class

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

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

extends: TriggerVolumeShape

Поля (6)

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

Методы (1)

МодификаторыВозвратСигнатура
public double getRadiusdouble getRadius()

Исходный код

Показать/скрыть
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 SphereShape class="kw">extends TriggerVolumeShape {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<SphereShape> CODEC = BuilderCodec.builder(SphereShape.class, SphereShape::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()
      .build();
   class="kw">private Vector3d center = new Vector3d();
   class="kw">private double radius;

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

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

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

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

   @Override
   class="kw">public double getMaxDistanceFromOrigin() {
      class="kw">return this.center.length() + this.radius;
   }

   @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 - this.radius, var8 - this.radius);
      var3.set(var4 + this.radius, var6 + this.radius, 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 SphereShape copy() {
      class="kw">return new SphereShape(new Vector3d(this.center), this.radius);
   }

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

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