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