GraphMaterialProviderAsset class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/materialproviders/GraphMaterialProviderAsset.java

extends: MaterialProviderAsset

Поля (7)

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

Методы (3)

МодификаторыВозвратСигнатура
abstract return new GraphMaterialProviderreturn new GraphMaterialProvider(var5, var4, 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.materialproviders;

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.MaterialContentAsset;
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.material.Material;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.materialproviders.GraphMaterialProvider;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.materialproviders.MaterialProvider;
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 GraphMaterialProviderAsset class="kw">extends MaterialProviderAsset {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<GraphMaterialProviderAsset> CODEC = BuilderCodec.builder(
         GraphMaterialProviderAsset.class, GraphMaterialProviderAsset::new, MaterialProviderAsset.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()
      .<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 int queryBufferCapacity = 3;

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

   @Nonnull
   @Override
   class="kw">public MaterialProvider<Material> build(@Nonnull MaterialProviderAsset.Argument var1) {
      if (super.skip()) {
         class="kw">return MaterialProvider.noMaterialProvider();
      }

      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);
         MaterialContentAsset var9 = var8.getMaterialContent(this.contentLayerName);
         if (var9 == null) {
            var6.add(GraphMaterialProvider.MaterialContent.EMPTY);
         } else {
            var6.add(var9.build(var3));
         }
      }

      class="kw">return new GraphMaterialProvider(var5, var4, this.queryBufferCapacity, var6);
   }

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