RandomiserCondition class
Пакет: com.hypixel.hytale.server.npc.decisionmaker.core.conditions
Файл: com/hypixel/hytale/server/npc/decisionmaker/core/conditions/RandomiserCondition.java
extends: Condition
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
BuilderCodec<RandomiserCondition> |
CODEC |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.decisionmaker.core.conditions;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.component.ArchetypeChunk;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.npc.decisionmaker.core.EvaluationContext;
class="kw">import com.hypixel.hytale.server.npc.decisionmaker.core.conditions.base.Condition;
class="kw">import java.util.concurrent.ThreadLocalRandom;
class="kw">public class RandomiserCondition class="kw">extends Condition {
class="kw">public class="kw">static class="kw">final BuilderCodec<RandomiserCondition> CODEC = BuilderCodec.builder(RandomiserCondition.class, RandomiserCondition::new, BASE_CODEC)
.documentation("A condition that jitters between two defined values to add a small amount of randomness to the class="kw">final utility value.")
.<Double>appendInherited(
new KeyedCodec<>("MinValue", Codec.DOUBLE), (var0, var1) -> var0.minValue = var1, var0 -> var0.minValue, (var0, var1) -> var0.minValue = var1.minValue
)
.documentation("The minimum bound of the jitter.")
.addValidator(Validators.range(0.0, 1.0))
.add()
.<Double>appendInherited(
new KeyedCodec<>("MaxValue", Codec.DOUBLE), (var0, var1) -> var0.maxValue = var1, var0 -> var0.maxValue, (var0, var1) -> var0.maxValue = var1.maxValue
)
.documentation("The maximum bound of the jitter.")
.addValidator(Validators.range(0.0, 1.0))
.add()
.build();
class="kw">protected double minValue;
class="kw">protected double maxValue;
class="kw">public RandomiserCondition() {
}
@Override
class="kw">public double calculateUtility(int var1, ArchetypeChunk<EntityStore> var2, Ref<EntityStore> var3, CommandBuffer<EntityStore> var4, EvaluationContext var5) {
class="kw">return ThreadLocalRandom.current().nextDouble(this.minValue, this.maxValue);
}
@Override
class="kw">public int getSimplicity() {
class="kw">return 10;
}
}