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