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