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