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;
   }
}