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