WeightedNodeAction class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/graph/nodeactions/WeightedNodeAction.java

extends: NodeAction

Поля (10)

МодификаторыТипИмя
double var1
var1
double[] var1
int var3
double var3
var3
List var3
List var5
NodeAction var5
NodeAction var7

Методы (2)

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

Исходный код

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

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 WeightedNodeAction class="kw">extends NodeAction {
   @Nonnull
   class="kw">private class="kw">final WeightedMap<NodeAction> weightedNodeActions;
   @Nonnull
   class="kw">private class="kw">final RngField rngField;
   @Nonnull
   class="kw">private class="kw">final FastRandom random;

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

   @Override
   class="kw">public void run(@Nonnull GraphSpace var1, @Nonnull GraphSpace.Node var2) {
      if (this.weightedNodeActions.size() != 0) {
         int var3 = this.rngField.get(var2.position());
         this.random.setSeed(var3);
         this.weightedNodeActions.pick(this.random).run(var1, var2);
      }
   }

   @Override
   class="kw">public double getInteractionRange(double var1) {
      double var3 = 0.0;
      List var5 = this.weightedNodeActions.elements();

      for (int var6 = 0; var6 < var5.size(); var6++) {
         NodeAction var7 = var5.get(var6);
         var3 = Math.max(var3, var7.getInteractionRange(var1));
      }

      class="kw">return var3;
   }

   @Override
   class="kw">public double getLongestCreatedEdgeLength() {
      double var1 = 0.0;
      List var3 = this.weightedNodeActions.elements();

      for (int var4 = 0; var4 < var3.size(); var4++) {
         NodeAction var5 = var3.get(var4);
         var1 = Math.max(var1, var5.getLongestCreatedEdgeLength());
      }

      class="kw">return var1;
   }

   @Override
   class="kw">public double getCausalRangeIncrement() {
      double[] var1 = new double[]{0.0};
      this.weightedNodeActions.forEach((var1x, var2) -> var1[0] = Math.max(var1[0], var1x.getCausalRangeIncrement()));
      class="kw">return var1[0];
   }

   @Override
   class="kw">public void viewAllPossibleContent(@Nonnull Consumer<GraphSpace.Content> var1) {
      this.weightedNodeActions.forEach((var1x, var2) -> var1x.viewAllPossibleContent(var1));
   }
}