RandomEdgeSelectorAsset class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/graph/edgeselectors/RandomEdgeSelectorAsset.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.graph.edgeselectors.AllEdgeSelector;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.edgeselectors.EdgeSelector;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.edgeselectors.RandomEdgeSelector;
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 RandomEdgeSelectorAsset class="kw">extends EdgeSelectorAsset {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<RandomEdgeSelectorAsset> CODEC = BuilderCodec.builder(
         RandomEdgeSelectorAsset.class, RandomEdgeSelectorAsset::new, EdgeSelectorAsset.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 RandomEdgeSelectorAsset() {
   }

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