ManualGraphPassAsset class

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

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

extends: GraphPassAsset

implements: Cleanable

Поля (9)

МодификаторыТипИмя
public static final AssetBuilderCodec<String, ManualGraphPassAsset.NodeAsset> CODEC
private String[] connections
private AssetExtraInfo.Data data
private GraphContentAsset graphContentAsset
private String id
private String name
private Vector3d position
List var2
GraphSpace.Content var7

Методы (5)

МодификаторыВозвратСигнатура
abstract return new ManualGraphPassreturn new ManualGraphPass(var2, this.statsLabel)
public NodeAssetpublic NodeAsset()
for for(ManualGraphPassAsset.NodeAsset var6 : this.nodeAssets)
for for(ManualGraphPassAsset.NodeAsset var4 : this.nodeAssets)
public String getIdpublic String getId()

Исходный код

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

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.assets.Cleanable;
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.graph.GraphSpace;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.passes.EmptyGraphPass;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.passes.GraphPass;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.passes.ManualGraphPass;
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.codecs.array.ArrayCodec;
class="kw">import com.hypixel.hytale.math.vector.Vector3dUtil;
class="kw">import java.util.ArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class ManualGraphPassAsset class="kw">extends GraphPassAsset class="kw">implements Cleanable {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<ManualGraphPassAsset> CODEC = BuilderCodec.builder(
         ManualGraphPassAsset.class, ManualGraphPassAsset::new, GraphPassAsset.ABSTRACT_CODEC
      )
      .append(
         new KeyedCodec<>("Nodes", new ArrayCodec<>(ManualGraphPassAsset.NodeAsset.CODEC, ManualGraphPassAsset.NodeAsset[]::new), true),
         (var0, var1) -> var0.nodeAssets = var1,
         var0 -> var0.nodeAssets
      )
      .add()
      .append(new KeyedCodec<>("StatsLabel", Codec.STRING, true), (var0, var1) -> var0.statsLabel = var1, var0 -> var0.statsLabel)
      .add()
      .build();
   @Nonnull
   class="kw">private ManualGraphPassAsset.NodeAsset[] nodeAssets = new ManualGraphPassAsset.NodeAsset[0];
   @Nonnull
   class="kw">private String statsLabel = "";

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

   @Nonnull
   @Override
   class="kw">public GraphPass build(@Nonnull GraphGeneratorAsset.Argument var1) {
      if (super.skip()) {
         class="kw">return EmptyGraphPass.INSTANCE;
      }

      List var2 = new ArrayList<>(this.nodeAssets.length);

      for (ManualGraphPassAsset.NodeAsset var6 : this.nodeAssets) {
         GraphSpace.Content var7 = var6.graphContentAsset.build(var1);
         var2.add(new ManualGraphPass.NodeEntry(var6.position, var7, var6.name, var6.connections));
      }

      class="kw">return new ManualGraphPass(var2, this.statsLabel);
   }

   @Override
   class="kw">public void cleanUp() {
      for (ManualGraphPassAsset.NodeAsset var4 : this.nodeAssets) {
         var4.graphContentAsset.cleanUp();
      }
   }

   class="kw">public class="kw">static class NodeAsset class="kw">implements JsonAssetWithMap<String, DefaultAssetMap<String, ManualGraphPassAsset.NodeAsset>> {
      @Nonnull
      class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, ManualGraphPassAsset.NodeAsset> CODEC = AssetBuilderCodec.builder(
            ManualGraphPassAsset.NodeAsset.class,
            ManualGraphPassAsset.NodeAsset::new,
            Codec.STRING,
            (var0, var1) -> var0.id = var1,
            var0 -> var0.id,
            (var0, var1) -> var0.data = var1,
            var0 -> var0.data
         )
         .append(new KeyedCodec<>("Position", Vector3dUtil.CODEC, true), (var0, var1) -> var0.position = var1, var0 -> var0.position)
         .add()
         .append(new KeyedCodec<>("Content", GraphContentAsset.CODEC, true), (var0, var1) -> var0.graphContentAsset = var1, var0 -> var0.graphContentAsset)
         .add()
         .append(new KeyedCodec<>("Name", Codec.STRING, true), (var0, var1) -> var0.name = var1, var0 -> var0.name)
         .add()
         .append(
            new KeyedCodec<>("Connections", new ArrayCodec<>(Codec.STRING, String[]::new), false),
            (var0, var1) -> var0.connections = var1,
            var0 -> var0.connections
         )
         .add()
         .build();
      class="kw">private String id;
      class="kw">private AssetExtraInfo.Data data;
      @Nonnull
      class="kw">private Vector3d position = new Vector3d();
      @Nonnull
      class="kw">private GraphContentAsset graphContentAsset = GraphContentAsset.INSTANCE;
      @Nonnull
      class="kw">private String[] connections = new String[0];
      @Nonnull
      class="kw">private String name = "";

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

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