GraphContentAsset class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/graph/GraphContentAsset.java

implements: Cleanable, JsonAssetWithMap<String, DefaultAssetMap<String, GraphContentAsset>>

Поля (3)

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

Методы (9)

МодификаторыВозвратСигнатура
for for(DensityContentAsset var5 : this.densityContentAssets)
for for(MaterialContentAsset var5 : this.materialContentAssets)
for for(PropDistributionContentAsset var5 : this.propDistributionContentAssets)
for for(PositionsContentAsset var5 : this.positionsContentAssets)
for for(int var3 = 0; var3 < var2.length; var3++)
for for(DensityContentAsset var4 : this.densityContentAssets)
for for(MaterialContentAsset var14 : this.materialContentAssets)
for for(PropDistributionContentAsset var15 : this.propDistributionContentAssets)
for for(PositionsContentAsset var16 : this.positionsContentAssets)

Исходный код

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

class="kw">import com.hypixel.hytale.assetstore.AssetExtraInfo;
class="kw">import com.hypixel.hytale.assetstore.codec.AssetBuilderCodec;
class="kw">import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
class="kw">import com.hypixel.hytale.assetstore.map.JsonAssetWithMap;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.LoggerUtil;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.Cleanable;
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.codecs.array.ArrayCodec;
class="kw">import java.util.Map;
class="kw">import java.util.concurrent.ConcurrentHashMap;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class GraphContentAsset class="kw">implements Cleanable, JsonAssetWithMap<String, DefaultAssetMap<String, GraphContentAsset>> {
   @Nonnull
   class="kw">public class="kw">static class="kw">final GraphContentAsset INSTANCE = new GraphContentAsset();
   @Nonnull
   class="kw">private class="kw">static class="kw">final Map<String, GraphContentAsset> exportedNodes = new ConcurrentHashMap<>();
   @Nonnull
   class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, GraphContentAsset> CODEC = AssetBuilderCodec.builder(
         GraphContentAsset.class,
         GraphContentAsset::new,
         Codec.STRING,
         (var0, var1) -> var0.id = var1,
         var0 -> var0.id,
         (var0, var1) -> var0.data = var1,
         var0 -> var0.data
      )
      .append(new KeyedCodec<>("ExportName", Codec.STRING, true), (var0, var1) -> var0.exportName = var1, var0 -> var0.exportName)
      .add()
      .append(new KeyedCodec<>("ImportName", Codec.STRING, true), (var0, var1) -> var0.importName = var1, var0 -> var0.importName)
      .add()
      .append(
         new KeyedCodec<>("DensityContent", new ArrayCodec<>(DensityContentAsset.CODEC, DensityContentAsset[]::new), true),
         (var0, var1) -> var0.densityContentAssets = var1,
         var0 -> var0.densityContentAssets
      )
      .add()
      .append(
         new KeyedCodec<>("MaterialContent", new ArrayCodec<>(MaterialContentAsset.CODEC, MaterialContentAsset[]::new), true),
         (var0, var1) -> var0.materialContentAssets = var1,
         var0 -> var0.materialContentAssets
      )
      .add()
      .append(
         new KeyedCodec<>("PropDistributionContent", new ArrayCodec<>(PropDistributionContentAsset.CODEC, PropDistributionContentAsset[]::new), true),
         (var0, var1) -> var0.propDistributionContentAssets = var1,
         var0 -> var0.propDistributionContentAssets
      )
      .add()
      .append(
         new KeyedCodec<>("PositionsContent", new ArrayCodec<>(PositionsContentAsset.CODEC, PositionsContentAsset[]::new), true),
         (var0, var1) -> var0.positionsContentAssets = var1,
         var0 -> var0.positionsContentAssets
      )
      .add()
      .append(new KeyedCodec<>("ContentTags", new ArrayCodec<>(Codec.STRING, String[]::new), true), (var0, var1) -> var0.tags = var1, var0 -> var0.tags)
      .add()
      .afterDecode(var0 -> {
         if (!var0.exportName.isEmpty()) {
            if (exportedNodes.containsKey(var0.exportName)) {
               LoggerUtil.getLogger().warning("Duplicate export name for asset: " + var0.exportName);
            }

            exportedNodes.put(var0.exportName, var0);
            LoggerUtil.getLogger().fine("Registered imported GraphContent asset with name '" + var0.exportName + "' with asset id '" + var0.id);
         }
      })
      .build();
   class="kw">private String id;
   class="kw">private AssetExtraInfo.Data data;
   @Nonnull
   class="kw">private String exportName = "";
   @Nonnull
   class="kw">private String importName = "";
   @Nonnull
   class="kw">private DensityContentAsset[] densityContentAssets = new DensityContentAsset[0];
   @Nonnull
   class="kw">private MaterialContentAsset[] materialContentAssets = new MaterialContentAsset[0];
   @Nonnull
   class="kw">private PropDistributionContentAsset[] propDistributionContentAssets = new PropDistributionContentAsset[0];
   @Nonnull
   class="kw">private PositionsContentAsset[] positionsContentAssets = new PositionsContentAsset[0];
   @Nonnull
   class="kw">private String[] tags = new String[]{""};

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

   @Nullable
   class="kw">public DensityContentAsset getDensityContent(@Nonnull String var1) {
      for (DensityContentAsset var5 : this.densityContentAssets) {
         if (var5.getContentLayerName().equals(var1)) {
            class="kw">return var5;
         }
      }

      class="kw">return null;
   }

   @Nullable
   class="kw">public MaterialContentAsset getMaterialContent(@Nonnull String var1) {
      for (MaterialContentAsset var5 : this.materialContentAssets) {
         if (var5.getContentLayerName().equals(var1)) {
            class="kw">return var5;
         }
      }

      class="kw">return null;
   }

   @Nullable
   class="kw">public PropDistributionContentAsset getPropDistributionContent(@Nonnull String var1) {
      for (PropDistributionContentAsset var5 : this.propDistributionContentAssets) {
         if (var5.getContentLayerName().equals(var1)) {
            class="kw">return var5;
         }
      }

      class="kw">return null;
   }

   @Nullable
   class="kw">public PositionsContentAsset getPositionsContent(@Nonnull String var1) {
      for (PositionsContentAsset var5 : this.positionsContentAssets) {
         if (var5.getContentLayerName().equals(var1)) {
            class="kw">return var5;
         }
      }

      class="kw">return null;
   }

   @Nonnull
   class="kw">public GraphSpace.Content build(@Nonnull GraphGeneratorAsset.Argument var1) {
      if (!this.importName.isEmpty()) {
         GraphContentAsset var4 = exportedNodes.get(this.importName);
         class="kw">return var4 == null ? GraphSpace.Content.DEFAULT : var4.build(var1);
      }

      int[] var2 = new int[this.tags.length];

      for (int var3 = 0; var3 < var2.length; var3++) {
         var2[var3] = GraphSpace.Content.toIntId(this.tags[var3]);
      }

      int var5 = var1.contentRegistry.getIdOrRegister(this);
      class="kw">return new GraphSpace.Content(var2, var5);
   }

   @Nonnull
   class="kw">public String getId() {
      class="kw">return "";
   }

   @Override
   class="kw">public void cleanUp() {
      for (DensityContentAsset var4 : this.densityContentAssets) {
         var4.cleanUp();
      }

      for (MaterialContentAsset var14 : this.materialContentAssets) {
         var14.cleanUp();
      }

      for (PropDistributionContentAsset var15 : this.propDistributionContentAssets) {
         var15.cleanUp();
      }

      for (PositionsContentAsset var16 : this.positionsContentAssets) {
         var16.cleanUp();
      }
   }
}