NodesEdgeSelectorAsset class

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

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

extends: EdgeSelectorAsset

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.graph.GraphGeneratorAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.graph.nodeselectors.AllNodeSelectorAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.graph.nodeselectors.NodeSelectorAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.edgeselectors.AllEdgeSelector;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.edgeselectors.EdgeSelector;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.edgeselectors.NodesEdgeSelector;
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.EnumCodec;
class="kw">import javax.annotation.Nonnull;

class="kw">public class NodesEdgeSelectorAsset class="kw">extends EdgeSelectorAsset {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<NodesEdgeSelectorAsset> CODEC = BuilderCodec.builder(
         NodesEdgeSelectorAsset.class, NodesEdgeSelectorAsset::new, EdgeSelectorAsset.ABSTRACT_CODEC
      )
      .append(new KeyedCodec<>("NodeSelector", NodeSelectorAsset.CODEC, true), (var0, var1) -> var0.nodeSelectorAsset = var1, var0 -> var0.nodeSelectorAsset)
      .add()
      .append(new KeyedCodec<>("Seed", new EnumCodec<>(NodesEdgeSelector.Operator.class), true), (var0, var1) -> var0.operator = var1, var0 -> var0.operator)
      .add()
      .build();
   @Nonnull
   class="kw">private NodeSelectorAsset nodeSelectorAsset = AllNodeSelectorAsset.INSTANCE;
   @Nonnull
   class="kw">private NodesEdgeSelector.Operator operator = NodesEdgeSelector.Operator.AND;

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

   @Nonnull
   @Override
   class="kw">public EdgeSelector build(@Nonnull GraphGeneratorAsset.Argument var1) {
      class="kw">return super.skip() ? AllEdgeSelector.INSTANCE : new NodesEdgeSelector(this.nodeSelectorAsset.build(var1), this.operator);
   }

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