RandomDirectionality class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.props.deprecated.directionality
Файл: com/hypixel/hytale/builtin/hytalegenerator/props/deprecated/directionality/RandomDirectionality.java
extends: Directionality
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
|
FastRandom |
var2 |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.props.deprecated.directionality;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.bounds.Bounds3i;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.patterns.Pattern;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.rng.RngField;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.scanners.Scanner;
class="kw">import com.hypixel.hytale.math.util.FastRandom;
class="kw">import com.hypixel.hytale.server.core.prefab.PrefabRotation;
class="kw">import java.util.Collections;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">public class RandomDirectionality class="kw">extends Directionality {
@Nonnull
class="kw">private class="kw">final List<PrefabRotation> rotations;
@Nonnull
class="kw">private class="kw">final Pattern pattern;
@Nonnull
class="kw">private class="kw">final RngField rngField;
class="kw">public RandomDirectionality(@Nonnull Pattern var1, int var2) {
this.pattern = var1;
this.rngField = new RngField(var2);
this.rotations = Collections.unmodifiableList(
List.of(PrefabRotation.ROTATION_0, PrefabRotation.ROTATION_90, PrefabRotation.ROTATION_180, PrefabRotation.ROTATION_270)
);
}
@Nonnull
@Override
class="kw">public Pattern getGeneralPattern() {
class="kw">return this.pattern;
}
@Nonnull
@Override
class="kw">public Bounds3i getBoundsWith_voxelGrid(@Nonnull Scanner var1) {
class="kw">return this.pattern.getBounds_voxelGrid();
}
@Nonnull
@Override
class="kw">public List<PrefabRotation> getPossibleRotations() {
class="kw">return this.rotations;
}
@Override
class="kw">public PrefabRotation getRotationAt(@Nonnull Pattern.Context var1) {
FastRandom var2 = new FastRandom(this.rngField.get(var1.position.x, var1.position.y, var1.position.z));
class="kw">return this.rotations.get(var2.nextInt(this.rotations.size()));
}
}