Jitter2DNodeAction class

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

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

extends: NodeAction

Поля (5)

МодификаторыТипИмя
final double magnitude
Vector3dc var3
int var4
double var5
double var7

Исходный код

Показать/скрыть
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 Jitter2DNodeAction class="kw">extends NodeAction {
   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 Jitter2DNodeAction(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();
      int var4 = this.rngField.get(var3);
      this.random.setSeed(var4);
      double var5 = this.magnitude * Math.sqrt(this.random.nextDouble());
      double var7 = this.random.nextDouble() * 2.0 * Math.PI;
      this.rNewPosition.set(var5 * Math.cos(var7), 0.0, var5 * Math.sin(var7));
      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) {
   }
}