ContentCopyNodeAction class

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

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

extends: NodeAction

Поля (5)

МодификаторыТипИмя
int var3
GraphSpace.Node var4
int var4
int var5
GraphSpace.Content var6

Методы (1)

МодификаторыВозвратСигнатура
if if(var3 != 0)

Исходный код

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

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 it.unimi.dsi.fastutil.ints.IntSet;
class="kw">import java.util.ArrayList;
class="kw">import java.util.List;
class="kw">import java.util.function.Consumer;
class="kw">import java.util.function.Predicate;
class="kw">import javax.annotation.Nonnull;

class="kw">public class ContentCopyNodeAction class="kw">extends NodeAction {
   @Nonnull
   class="kw">private class="kw">final Predicate<IntSet> contentPredicate;
   @Nonnull
   class="kw">private class="kw">final RngField rngField;
   @Nonnull
   class="kw">private class="kw">final FastRandom random;
   @Nonnull
   class="kw">private class="kw">final List<GraphSpace.Content> rContentPool;

   class="kw">public ContentCopyNodeAction(@Nonnull Predicate<IntSet> var1, int var2) {
      this.contentPredicate = var1;
      this.rngField = new RngField(var2);
      this.random = new FastRandom();
      this.rContentPool = new ArrayList<>(1);
   }

   @Override
   class="kw">public void run(@Nonnull GraphSpace var1, @Nonnull GraphSpace.Node var2) {
      int var3 = var2.getEdgesCount();
      if (var3 != 0) {
         this.rContentPool.clear();
         var2.viewConnections((var2x, var3x) -> {
            GraphSpace.Node var4 = var2x.otherNode(var2);
            if (this.contentPredicate.test(var4.content().tagSet)) {
               this.rContentPool.add(var4.content());
            }
         });
         if (!this.rContentPool.isEmpty()) {
            int var4 = this.rngField.get(var2.position());
            this.random.setSeed(var4);
            int var5 = this.random.nextInt(this.rContentPool.size());
            GraphSpace.Content var6 = this.rContentPool.get(var5);
            var1.schedule(() -> var2.setContent(var6));
            this.rContentPool.clear();
         }
      }
   }

   @Override
   class="kw">public double getInteractionRange(double var1) {
      class="kw">return var1;
   }

   @Override
   class="kw">public double getLongestCreatedEdgeLength() {
      class="kw">return 0.0;
   }

   @Override
   class="kw">public double getCausalRangeIncrement() {
      class="kw">return 0.0;
   }

   @Override
   class="kw">public void viewAllPossibleContent(@Nonnull Consumer<GraphSpace.Content> var1) {
   }
}