RangedThicknessLayer class

Пакет: com.hypixel.hytale.builtin.hytalegenerator.materialproviders.spaceanddepth.layers

Файл: com/hypixel/hytale/builtin/hytalegenerator/materialproviders/spaceanddepth/layers/RangedThicknessLayer.java

extends: SpaceAndDepthMaterialProvider.Layer<V>

Поля (2)

МодификаторыТипИмя
final int min
FastRandom var10

Методы (3)

МодификаторыВозвратСигнатура
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("min greater than max")
if if(this.delta < 0)
if if(this.delta <= 0)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.materialproviders.MaterialProvider;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.materialproviders.spaceanddepth.SpaceAndDepthMaterialProvider;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.rng.RngField;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.rng.SeedBox;
class="kw">import com.hypixel.hytale.math.util.FastRandom;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class RangedThicknessLayer<V> class="kw">extends SpaceAndDepthMaterialProvider.Layer<V> {
   class="kw">private class="kw">final int min;
   class="kw">private class="kw">final int max;
   class="kw">private class="kw">final int delta;
   @Nonnull
   class="kw">private class="kw">final RngField rngField;
   @Nullable
   class="kw">private class="kw">final MaterialProvider<V> materialProvider;

   class="kw">public RangedThicknessLayer(int var1, int var2, @Nonnull SeedBox var3, @Nullable MaterialProvider<V> var4) {
      this.min = var1;
      this.max = var2;
      this.delta = this.max - this.min;
      if (this.delta < 0) {
         throw new IllegalArgumentException("min greater than max");
      }

      this.rngField = new RngField(var3.createSupplier().get());
      this.materialProvider = var4;
   }

   @Override
   class="kw">public int getThicknessAt(int var1, int var2, int var3, int var4, int var5, int var6, int var7, double var8) {
      if (this.delta <= 0) {
         class="kw">return this.min;
      }

      FastRandom var10 = new FastRandom(this.rngField.get(var1, var3));
      class="kw">return var10.nextInt(this.delta + 1) + this.min;
   }

   @Override
   class="kw">public MaterialProvider<V> getMaterialProvider() {
      class="kw">return this.materialProvider;
   }
}