PositionsGraphPassAsset class

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

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

extends: GraphPassAsset

implements: Cleanable

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.Cleanable;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.graph.GraphGeneratorAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.positionproviders.EmptyPositionProviderAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.positionproviders.PositionProviderAsset;
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.PositionsGraphPass;
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 javax.annotation.Nonnull;

class="kw">public class PositionsGraphPassAsset class="kw">extends GraphPassAsset class="kw">implements Cleanable {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<PositionsGraphPassAsset> CODEC = BuilderCodec.builder(
         PositionsGraphPassAsset.class, PositionsGraphPassAsset::new, GraphPassAsset.ABSTRACT_CODEC
      )
      .append(
         new KeyedCodec<>("Positions", PositionProviderAsset.CODEC, true),
         (var0, var1) -> var0.positionProviderAsset = var1,
         var0 -> var0.positionProviderAsset
      )
      .add()
      .append(new KeyedCodec<>("StatsLabel", Codec.STRING, true), (var0, var1) -> var0.statsLabel = var1, var0 -> var0.statsLabel)
      .add()
      .build();
   @Nonnull
   class="kw">private PositionProviderAsset positionProviderAsset = EmptyPositionProviderAsset.INSTANCE;
   @Nonnull
   class="kw">private String statsLabel = "";

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

   @Nonnull
   @Override
   class="kw">public GraphPass build(@Nonnull GraphGeneratorAsset.Argument var1) {
      class="kw">return super.skip()
         ? EmptyGraphPass.INSTANCE
         : new PositionsGraphPass(this.positionProviderAsset.build(new PositionProviderAsset.Argument(var1)), this.statsLabel);
   }

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