PipelineDensityAsset class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/density/PipelineDensityAsset.java

extends: DensityAsset

Поля (2)

МодификаторыТипИмя
Density[] var2
Density var4

Методы (4)

МодификаторыВозвратСигнатура
abstract return new ConstantValueDensityreturn new ConstantValueDensity(0.0)
for for(int var3 = 1; var3 < this.pipeline.length; var3++)
for for(DensityAsset var4 : this.pipeline)
if if(this.pipeline.length == 0)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.density.ConstantValueDensity;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.density.Density;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import javax.annotation.Nonnull;

class="kw">public class PipelineDensityAsset class="kw">extends DensityAsset {
   @Nonnull
   class="kw">private class="kw">static class="kw">final DensityAsset[] EMPTY_INPUTS = new DensityAsset[0];
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<PipelineDensityAsset> CODEC = BuilderCodec.builder(
         PipelineDensityAsset.class, PipelineDensityAsset::new, DensityAsset.ABSTRACT_CODEC
      )
      .append(
         new KeyedCodec<>("Pipeline", new ArrayCodec<>(DensityAsset.CODEC, DensityAsset[]::new)), (var0, var1) -> var0.pipeline = var1, var0 -> var0.pipeline
      )
      .add()
      .build();
   class="kw">private DensityAsset[] pipeline = new DensityAsset[0];

   class="kw">public PipelineDensityAsset() {
   }

   @Nonnull
   @Override
   class="kw">public Density build(@Nonnull DensityAsset.Argument var1) {
      if (this.isSkipped()) {
         class="kw">return new ConstantValueDensity(0.0);
      }

      if (this.pipeline.length == 0) {
         class="kw">return this.buildFirstInput(var1);
      }

      Density[] var2 = new Density[]{this.pipeline[0].build(var1)};
      var2[0].setInputs(this.buildInputsArray(var1));

      for (int var3 = 1; var3 < this.pipeline.length; var3++) {
         Density var4 = this.pipeline[var3].buildWithInputs(var1, var2);
         var2[0] = var4;
      }

      class="kw">return var2[0];
   }

   @Override
   class="kw">public void cleanUp() {
      this.cleanUpInputs();

      for (DensityAsset var4 : this.pipeline) {
         var4.cleanUp();
      }
   }
}