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));
}
}