SteeringForceWander class

Пакет: com.hypixel.hytale.server.npc.movement.steeringforces

Файл: com/hypixel/hytale/server/npc/movement/steeringforces/SteeringForceWander.java

implements: SteeringForce

Поля (1)

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

Методы (4)

МодификаторыВозвратСигнатура
if if(this.time < this.turnInterval)
public void setHeadingvoid setHeading(float var1)
public void setTurnTimevoid setTurnTime(double var1)
public void updateTimevoid updateTime(double var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.movement.steeringforces;

class="kw">import com.hypixel.hytale.math.random.RandomExtra;
class="kw">import com.hypixel.hytale.server.core.modules.physics.util.PhysicsMath;
class="kw">import com.hypixel.hytale.server.npc.movement.Steering;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class SteeringForceWander class="kw">implements SteeringForce {
   class="kw">private double time;
   class="kw">private double turnInterval;
   class="kw">private double jitter = 0.5;
   class="kw">private class="kw">final Vector3d velocity = new Vector3d(0.0, 0.0, -1.0);

   class="kw">public SteeringForceWander() {
      this.setTurnTime(5.0);
      this.jitter = 0.5;
   }

   class="kw">public void setTurnTime(double var1) {
      this.turnInterval = 0.0;
      this.time = this.turnInterval;
   }

   class="kw">public void updateTime(double var1) {
      this.time += var1;
   }

   class="kw">public void setHeading(float var1) {
      this.velocity.x = PhysicsMath.headingX(var1);
      this.velocity.z = PhysicsMath.headingZ(var1);
   }

   @Override
   class="kw">public boolean compute(@Nonnull Steering var1) {
      if (this.time < this.turnInterval) {
         this.velocity.x = this.velocity.x + RandomExtra.randomBinomial() * this.jitter;
         this.velocity.z = this.velocity.z + RandomExtra.randomBinomial() * this.jitter;
         this.velocity.normalize();
      }

      var1.clearRotation();
      class="kw">return true;
   }
}