GraphDensityAsset class

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

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

extends: DensityAsset

Поля (7)

МодификаторыТипИмя
Registry var2
GraphGeneratorAsset.Argument var3
GridCache var4
GraphGenerator var5
List var6
GraphContentAsset var8
DensityContentAsset var9

Методы (4)

МодификаторыВозвратСигнатура
abstract return new ConstantValueDensityreturn new ConstantValueDensity(0.0)
abstract return new GraphDensityreturn new GraphDensity(var5, var4, this.backgroundValue, this.transitionSlope, this.transitionOffset, this.transitionSmooth, this.queryBufferCapacity, var6)
abstract for for(int var7 = 0; var7 < var2.size()
if if(var9 == null)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.GridCache;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.Registry;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.graph.DensityContentAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.graph.GraphContentAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.graph.GraphGeneratorAsset;
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.builtin.hytalegenerator.density.GraphDensity;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.GraphGenerator;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.GraphSpace;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import java.util.ArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;

class="kw">public class GraphDensityAsset class="kw">extends DensityAsset {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<GraphDensityAsset> CODEC = BuilderCodec.builder(
         GraphDensityAsset.class, GraphDensityAsset::new, DensityAsset.ABSTRACT_CODEC
      )
      .append(
         new KeyedCodec<>("GraphGenerator", GraphGeneratorAsset.CODEC, true), (var0, var1) -> var0.graphGeneratorAsset = var1, var0 -> var0.graphGeneratorAsset
      )
      .add()
      .append(new KeyedCodec<>("ContentLayer", Codec.STRING, true), (var0, var1) -> var0.contentLayerName = var1, var0 -> var0.contentLayerName)
      .add()
      .append(new KeyedCodec<>("BackgroundValue", Codec.DOUBLE, true), (var0, var1) -> var0.backgroundValue = var1, var0 -> var0.backgroundValue)
      .add()
      .append(new KeyedCodec<>("TransitionSlope", Codec.DOUBLE, true), (var0, var1) -> var0.transitionSlope = var1, var0 -> var0.transitionSlope)
      .add()
      .append(new KeyedCodec<>("TransitionOffset", Codec.DOUBLE, true), (var0, var1) -> var0.transitionOffset = var1, var0 -> var0.transitionOffset)
      .add()
      .<Double>append(new KeyedCodec<>("TransitionSmooth", Codec.DOUBLE, true), (var0, var1) -> var0.transitionSmooth = var1, var0 -> var0.transitionSmooth)
      .addValidator(Validators.greaterThanOrEqual(0.0))
      .add()
      .<Integer>append(
         new KeyedCodec<>("QueryBufferCapacity", Codec.INTEGER, true), (var0, var1) -> var0.queryBufferCapacity = var1, var0 -> var0.queryBufferCapacity
      )
      .addValidator(Validators.greaterThanOrEqual(1))
      .add()
      .build();
   @Nonnull
   class="kw">private GraphGeneratorAsset graphGeneratorAsset = new GraphGeneratorAsset();
   @Nonnull
   class="kw">private String contentLayerName = "";
   class="kw">private double backgroundValue = 0.0;
   class="kw">private double transitionSlope = 2.5;
   class="kw">private double transitionOffset = 0.0;
   class="kw">private double transitionSmooth = 0.2;
   class="kw">private int queryBufferCapacity = 3;

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

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

      Registry var2 = new Registry<>();
      GraphGeneratorAsset.Argument var3 = new GraphGeneratorAsset.Argument(var1, var2);
      GridCache var4 = this.graphGeneratorAsset.buildSingleInstanceGrid(var3);
      GraphGenerator var5 = this.graphGeneratorAsset.buildGraphGenerator(var3);
      List var6 = new ArrayList<>(var2.size());

      for (int var7 = 0; var7 < var2.size(); var7++) {
         GraphContentAsset var8 = var2.getObject(var7);
         DensityContentAsset var9 = var8.getDensityContent(this.contentLayerName);
         if (var9 == null) {
            var6.add(GraphDensity.DensityContent.EMPTY);
         } else {
            var6.add(var9.build(var3));
         }
      }

      class="kw">return new GraphDensity(
         var5, var4, this.backgroundValue, this.transitionSlope, this.transitionOffset, this.transitionSmooth, this.queryBufferCapacity, var6
      );
   }

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