RandomEdgeSelector class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.graph.edgeselectors
Файл: com/hypixel/hytale/builtin/hytalegenerator/graph/edgeselectors/RandomEdgeSelector.java
extends: EdgeSelector
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
|
int |
var3 |
|
double |
var4 |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.graph.edgeselectors;
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 javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">public class RandomEdgeSelector class="kw">extends EdgeSelector {
@Nonnull
class="kw">private class="kw">final RngField rngField;
@Nonnull
class="kw">private class="kw">final FastRandom random;
class="kw">private class="kw">final double chance;
@Nonnull
class="kw">private class="kw">final Vector3d rEdgePosition;
class="kw">public RandomEdgeSelector(double var1, int var3) {
this.chance = var1;
this.rngField = new RngField(var3);
this.random = new FastRandom();
this.rEdgePosition = new Vector3d();
}
@Override
class="kw">public boolean isSelected(@Nonnull GraphSpace var1, @Nonnull GraphSpace.Edge var2) {
this.rEdgePosition.set(var2.nodeA().position()).add(var2.nodeB().position());
int var3 = this.rngField.get(this.rEdgePosition);
this.random.setSeed(var3);
double var4 = this.random.nextDouble();
class="kw">return var4 < this.chance;
}
@Override
class="kw">public double getInteractionRange(double var1) {
class="kw">return 0.0;
}
}