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