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) {
}
}