FieldDelimiter class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.materialproviders
Файл: com/hypixel/hytale/builtin/hytalegenerator/materialproviders/TerrainDensityMaterialProvider.java
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
|
double |
bottom |
|
MaterialProvider<V> |
materialProvider |
|
double |
top |
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
boolean |
isInsideboolean isInside(double var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.materialproviders;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class TerrainDensityMaterialProvider<V> class="kw">extends MaterialProvider<V> {
@Nonnull
class="kw">private class="kw">final TerrainDensityMaterialProvider.FieldDelimiter<V>[] fieldDelimiters;
class="kw">public TerrainDensityMaterialProvider(@Nonnull List<TerrainDensityMaterialProvider.FieldDelimiter<V>> var1) {
this.fieldDelimiters = new TerrainDensityMaterialProvider.FieldDelimiter[var1.size()];
for (TerrainDensityMaterialProvider.FieldDelimiter var3 : var1) {
if (var3 == null) {
throw new IllegalArgumentException("delimiters contain null value");
}
}
for (int var4 = 0; var4 < var1.size(); var4++) {
this.fieldDelimiters[var4] = var1.get(var4);
}
}
@Nullable
@Override
class="kw">public V getVoxelTypeAt(@Nonnull MaterialProvider.Context var1) {
for (TerrainDensityMaterialProvider.FieldDelimiter var5 : this.fieldDelimiters) {
if (var5.isInside(var1.density)) {
class="kw">return var5.materialProvider.getVoxelTypeAt(var1);
}
}
class="kw">return null;
}
class="kw">public class="kw">static class FieldDelimiter<V> {
double top;
double bottom;
MaterialProvider<V> materialProvider;
class="kw">public FieldDelimiter(@Nonnull MaterialProvider<V> var1, double var2, double var4) {
this.bottom = var2;
this.top = var4;
this.materialProvider = var1;
}
boolean isInside(double var1) {
class="kw">return var1 < this.top && var1 >= this.bottom;
}
}
}