SplitterEdgeActionAsset class

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

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

extends: EdgeActionAsset

Поля (1)

МодификаторыТипИмя
final SplitterEdgeActionAsset INSTANCE

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.graph.GraphGeneratorAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.graph.contentsuppliers.ConstantContentSupplierAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.graph.contentsuppliers.ContentSupplierAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.edgeactions.EdgeAction;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.edgeactions.SplitterEdgeAction;
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 javax.annotation.Nonnull;

class="kw">public class SplitterEdgeActionAsset class="kw">extends EdgeActionAsset {
   class="kw">public class="kw">static class="kw">final SplitterEdgeActionAsset INSTANCE = new SplitterEdgeActionAsset();
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<SplitterEdgeActionAsset> CODEC = BuilderCodec.builder(
         SplitterEdgeActionAsset.class, SplitterEdgeActionAsset::new, EdgeActionAsset.ABSTRACT_CODEC
      )
      .append(new KeyedCodec<>("NodeCount", Codec.INTEGER, true), (var0, var1) -> var0.nodeCount = var1, var0 -> var0.nodeCount)
      .addValidator(Validators.greaterThanOrEqual(0))
      .add()
      .append(
         new KeyedCodec<>("Content", ContentSupplierAsset.CODEC, true), (var0, var1) -> var0.contentSupplierAsset = var1, var0 -> var0.contentSupplierAsset
      )
      .add()
      .build();
   class="kw">private int nodeCount = 0;
   @Nonnull
   class="kw">private ContentSupplierAsset contentSupplierAsset = ConstantContentSupplierAsset.INSTANCE;

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

   @Nonnull
   @Override
   class="kw">public EdgeAction build(@Nonnull GraphGeneratorAsset.Argument var1) {
      assert this.nodeCount >= 0;
      class="kw">return new SplitterEdgeAction(this.contentSupplierAsset.build(var1), this.nodeCount);
   }

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