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