GraphPropDistributionAsset class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/propdistribution/GraphPropDistributionAsset.java

extends: PropDistributionAsset

Поля (7)

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

Методы (3)

МодификаторыВозвратСигнатура
abstract return new GraphPropDistributionreturn new GraphPropDistribution(var5, var4, var6)
abstract for for(int var7 = 0; var7 < var2.size()
if if(var9 == null)

Исходный код

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

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.GraphContentAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.graph.GraphGeneratorAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.graph.PropDistributionContentAsset;
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.builtin.hytalegenerator.propdistributions.EmptyPropDistribution;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.propdistributions.GraphPropDistribution;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.propdistributions.PropDistribution;
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 java.util.ArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;

class="kw">public class GraphPropDistributionAsset class="kw">extends PropDistributionAsset {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<GraphPropDistributionAsset> CODEC = BuilderCodec.builder(
         GraphPropDistributionAsset.class, GraphPropDistributionAsset::new, PropDistributionAsset.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()
      .build();
   @Nonnull
   class="kw">private GraphGeneratorAsset graphGeneratorAsset = GraphGeneratorAsset.EMPTY;
   @Nonnull
   class="kw">private String contentLayerName = "";

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

   @Nonnull
   @Override
   class="kw">public PropDistribution build(@Nonnull PropDistributionAsset.Argument var1) {
      if (super.isSkipped()) {
         class="kw">return EmptyPropDistribution.INSTANCE;
      }

      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);
         PropDistributionContentAsset var9 = var8.getPropDistributionContent(this.contentLayerName);
         if (var9 == null) {
            var6.add(GraphPropDistribution.PropDistributionContent.EMPTY);
         } else {
            var6.add(var9.build(var3));
         }
      }

      class="kw">return new GraphPropDistribution(var5, var4, var6);
   }

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