Jitter3DNodeAction class

Пакет: com.hypixel.hytale.builtin.hytalegenerator.graph.nodeactions

Файл: com/hypixel/hytale/builtin/hytalegenerator/graph/nodeactions/Jitter3DNodeAction.java

extends: NodeAction

Поля (6)

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

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.GraphSpace;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.rng.RngField;
class="kw">import com.hypixel.hytale.math.util.FastRandom;
class="kw">import java.util.function.Consumer;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">import org.joml.Vector3dc;

class="kw">public class Jitter3DNodeAction class="kw">extends NodeAction {
   class="kw">private class="kw">static class="kw">final float PI = (float) Math.PI;
   class="kw">private class="kw">static class="kw">final double SEED_GENERATOR_RESOLUTION = 10.0;
   class="kw">private class="kw">final double magnitude;
   @Nonnull
   class="kw">private class="kw">final RngField rngField;
   @Nonnull
   class="kw">private class="kw">final FastRandom random;
   @Nonnull
   class="kw">private class="kw">final Vector3d rNewPosition;

   class="kw">public Jitter3DNodeAction(double var1, int var3) {
      assert var1 >= 0.0;
      this.magnitude = var1;
      this.rngField = new RngField(var3);
      this.random = new FastRandom();
      this.rNewPosition = new Vector3d();
   }

   @Override
   class="kw">public void run(@Nonnull GraphSpace var1, @Nonnull GraphSpace.Node var2) {
      Vector3dc var3 = var2.position();
      this.random.setSeed(this.rngField.get(var3));
      double var4 = this.magnitude * Math.sqrt(this.random.nextDouble());
      float var6 = this.random.nextFloat() * 2.0F * (float) Math.PI;
      float var7 = this.random.nextFloat() * 2.0F * (float) Math.PI;
      float var8 = this.random.nextFloat() * 2.0F * (float) Math.PI;
      this.rNewPosition.set(var4, 0.0, 0.0);
      this.rNewPosition.rotateX(var6);
      this.rNewPosition.rotateY(var7);
      this.rNewPosition.rotateZ(var8);
      this.rNewPosition.add(var3);
      var1.scheduleMoveNode(var2, new Vector3d(this.rNewPosition));
   }

   @Override
   class="kw">public double getInteractionRange(double var1) {
      class="kw">return 0.0;
   }

   @Override
   class="kw">public double getLongestCreatedEdgeLength() {
      class="kw">return 0.0;
   }

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

   @Override
   class="kw">public void viewAllPossibleContent(@Nonnull Consumer<GraphSpace.Content> var1) {
   }
}