RandomVectorProvider class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/vectorproviders/RandomVectorProvider.java

extends: VectorProvider

Поля (5)

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

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.vectorproviders;

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 RandomVectorProvider class="kw">extends VectorProvider {
   class="kw">private class="kw">static class="kw">final double FULL_CIRCLE = Math.PI * 2;
   @Nonnull
   class="kw">private class="kw">final RngField rngField;
   @Nonnull
   class="kw">private class="kw">final FastRandom random;

   class="kw">public RandomVectorProvider(int var1) {
      this.rngField = new RngField(var1);
      this.random = new FastRandom();
   }

   @Override
   class="kw">public void process(@Nonnull VectorProvider.Context var1, @Nonnull Vector3d var2) {
      int var3 = this.rngField.get(var1.position);
      this.random.setSeed(var3);
      var2.set(0.0, 1.0, 0.0);
      double var4 = this.random.nextDouble();
      var4 *= Math.PI * 2;
      var2.rotateX(var4);
      var4 = this.random.nextDouble();
      var4 *= Math.PI * 2;
      var2.rotateY(var4);
      var4 = this.random.nextDouble();
      var4 *= Math.PI * 2;
      var2.rotateZ(var4);
   }
}