WeightedThicknessLayer class

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

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

extends: SpaceAndDepthMaterialProvider.Layer<V>

Поля (1)

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

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.WeightedMap;
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 WeightedThicknessLayer<V> class="kw">extends SpaceAndDepthMaterialProvider.Layer<V> {
   @Nonnull
   class="kw">private class="kw">final WeightedMap<Integer> thicknessPool;
   @Nonnull
   class="kw">private class="kw">final RngField rngField;
   @Nullable
   class="kw">private class="kw">final MaterialProvider<V> materialProvider;

   class="kw">public WeightedThicknessLayer(@Nonnull WeightedMap<Integer> var1, @Nullable MaterialProvider<V> var2, @Nonnull SeedBox var3) {
      this.rngField = new RngField(var3.createSupplier().get());
      this.materialProvider = var2;
      this.thicknessPool = var1;
   }

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

      FastRandom var10 = new FastRandom(this.rngField.get(var1, var3));
      class="kw">return this.thicknessPool.pick(var10);
   }

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