DensityDelimitedTintProvider class

Пакет: com.hypixel.hytale.builtin.hytalegenerator.tintproviders

Файл: com/hypixel/hytale/builtin/hytalegenerator/tintproviders/DensityDelimitedTintProvider.java

extends: TintProvider

Поля (3)

МодификаторыТипИмя
double var2
RangeDouble var5
TintProvider var6

Методы (2)

МодификаторыВозвратСигнатура
for for(DelimiterDouble var4 : var1)
for for(DelimiterDouble var5 : this.delimiters)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.delimiters.DelimiterDouble;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.delimiters.RangeDouble;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.density.Density;
class="kw">import java.util.ArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;

class="kw">public class DensityDelimitedTintProvider class="kw">extends TintProvider {
   @Nonnull
   class="kw">private class="kw">final List<DelimiterDouble<TintProvider>> delimiters = new ArrayList<>();
   @Nonnull
   class="kw">private class="kw">final Density density;
   @Nonnull
   class="kw">private class="kw">final Density.Context rDensityContext;

   class="kw">public DensityDelimitedTintProvider(@Nonnull List<DelimiterDouble<TintProvider>> var1, @Nonnull Density var2) {
      for (DelimiterDouble var4 : var1) {
         RangeDouble var5 = var4.getRange();
         if (!(var5.min() >= var5.max())) {
            this.delimiters.add(var4);
         }
      }

      this.density = var2;
      this.rDensityContext = new Density.Context();
   }

   @Override
   class="kw">public TintProvider.Result getValue(@Nonnull TintProvider.Context var1) {
      if (this.delimiters.isEmpty()) {
         class="kw">return TintProvider.Result.WITHOUT_VALUE;
      }

      this.rDensityContext.assign(var1);
      double var2 = this.density.process(this.rDensityContext);
      this.rDensityContext.clearReferences();

      for (DelimiterDouble var5 : this.delimiters) {
         if (var5.getRange().contains(var2)) {
            TintProvider var6 = var5.getValue();
            assert var6 != null;
            class="kw">return var6.getValue(var1);
         }
      }

      class="kw">return TintProvider.Result.WITHOUT_VALUE;
   }
}