DensitySelectorProp class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/props/DensitySelectorProp.java

extends: Prop

Поля (1)

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

Методы (2)

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

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.bounds.Bounds3i;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.delimiters.DelimiterDouble;
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 DensitySelectorProp class="kw">extends Prop {
   @Nonnull
   class="kw">private class="kw">final List<DelimiterDouble<Prop>> propDelimiters;
   @Nonnull
   class="kw">private class="kw">final Density density;
   @Nonnull
   class="kw">private class="kw">final Bounds3i readBounds;
   @Nonnull
   class="kw">private class="kw">final Bounds3i writeBounds;
   @Nonnull
   class="kw">private class="kw">final Density.Context rDensityContext;

   class="kw">public DensitySelectorProp(@Nonnull List<DelimiterDouble<Prop>> var1, @Nonnull Density var2) {
      this.propDelimiters = new ArrayList<>(var1);
      this.density = var2;
      this.readBounds = new Bounds3i();
      this.writeBounds = new Bounds3i();

      for (DelimiterDouble var4 : this.propDelimiters) {
         assert var4.getValue() != null;
         this.readBounds.encompass(var4.getValue().getReadBounds_voxelGrid());
         this.writeBounds.encompass(var4.getValue().getWriteBounds_voxelGrid());
      }

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

   @Override
   class="kw">public boolean generate(@Nonnull Prop.Context var1) {
      this.rDensityContext.assign(var1);
      double var2 = this.density.process(this.rDensityContext);

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

      class="kw">return false;
   }

   @Nonnull
   @Override
   class="kw">public Bounds3i getReadBounds_voxelGrid() {
      class="kw">return this.readBounds;
   }

   @Nonnull
   @Override
   class="kw">public Bounds3i getWriteBounds_voxelGrid() {
      class="kw">return this.writeBounds;
   }
}