WeightedContentSupplier class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/graph/contentsuppliers/WeightedContentSupplier.java

extends: ContentSupplier

Поля (3)

МодификаторыТипИмя
int var2
List var2
ContentSupplier var4

Методы (1)

МодификаторыВозвратСигнатура
abstract for for(int var3 = 0; var3 < var2.size()

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.WeightedMap;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.GraphSpace;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.rng.RngField;
class="kw">import com.hypixel.hytale.math.util.FastRandom;
class="kw">import java.util.List;
class="kw">import java.util.function.Consumer;
class="kw">import javax.annotation.Nonnull;

class="kw">public class WeightedContentSupplier class="kw">extends ContentSupplier {
   @Nonnull
   class="kw">private class="kw">final WeightedMap<ContentSupplier> weightedMap;
   @Nonnull
   class="kw">private class="kw">final RngField rngField;
   @Nonnull
   class="kw">private class="kw">final FastRandom random;

   class="kw">public WeightedContentSupplier(@Nonnull WeightedMap<ContentSupplier> var1, int var2) {
      this.weightedMap = var1;
      this.random = new FastRandom();
      this.rngField = new RngField(var2);
   }

   @Nonnull
   @Override
   class="kw">public GraphSpace.Content get(@Nonnull GraphSpace.Node var1) {
      if (this.weightedMap.size() == 0) {
         class="kw">return GraphSpace.Content.DEFAULT;
      }

      int var2 = this.rngField.get(var1.position());
      this.random.setSeed(var2);
      class="kw">return this.weightedMap.pick(this.random).get(var1);
   }

   @Override
   class="kw">public void viewAllPossibleContent(@Nonnull Consumer<GraphSpace.Content> var1) {
      List var2 = this.weightedMap.elements();

      for (int var3 = 0; var3 < var2.size(); var3++) {
         ContentSupplier var4 = var2.get(var3);
         var4.viewAllPossibleContent(var1);
      }

      var1.accept(GraphSpace.Content.DEFAULT);
   }
}