RandomNodeSelectorAsset class

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

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

extends: NodeSelectorAsset

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.graph.GraphGeneratorAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.nodeselectors.AllNodeSelector;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.nodeselectors.NodeSelector;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.nodeselectors.RandomNodeSelector;
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 RandomNodeSelectorAsset class="kw">extends NodeSelectorAsset {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<RandomNodeSelectorAsset> CODEC = BuilderCodec.builder(
         RandomNodeSelectorAsset.class, RandomNodeSelectorAsset::new, NodeSelectorAsset.ABSTRACT_CODEC
      )
      .append(new KeyedCodec<>("Chance", Codec.DOUBLE, true), (var0, var1) -> var0.chance = var1, var0 -> var0.chance)
      .addValidator(Validators.greaterThanOrEqual(0.0))
      .add()
      .append(new KeyedCodec<>("Seed", Codec.STRING, true), (var0, var1) -> var0.seed = var1, var0 -> var0.seed)
      .add()
      .build();
   class="kw">private double chance = 0.0;
   @Nonnull
   class="kw">private String seed = "";

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

   @Nonnull
   @Override
   class="kw">public NodeSelector build(@Nonnull GraphGeneratorAsset.Argument var1) {
      class="kw">return super.skip() ? AllNodeSelector.INSTANCE : new RandomNodeSelector(this.chance, var1.parentSeed.child(this.seed).createSupplier().get());
   }
}