StatComparisonType enum
Пакет: com.hypixel.hytale.server.core.modules.entity.condition
Файл: com/hypixel/hytale/server/core/modules/entity/condition/StatCondition.java
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
|
private final String |
prefix |
|
private final BiFloatPredicate |
satisfies |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public String |
getPrefixpublic String getPrefix() |
|
public boolean |
satisfiespublic boolean satisfies(float var1, float var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.entity.condition;
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.codecs.EnumCodec;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.function.predicate.BiFloatPredicate;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.EntityStatValue;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.time.Instant;
class="kw">import javax.annotation.Nonnull;
class="kw">public class StatCondition class="kw">extends EntityStatBoundCondition {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<StatCondition> CODEC = BuilderCodec.builder(StatCondition.class, StatCondition::new, EntityStatBoundCondition.CODEC)
.append(new KeyedCodec<>("Amount", Codec.FLOAT), (var0, var1) -> var0.amount = var1, var0 -> var0.amount)
.documentation("The amount to compare the entity's stat against.")
.addValidator(Validators.nonNull())
.add()
.<StatCondition.StatComparisonType>appendInherited(
new KeyedCodec<>("Comparison", new EnumCodec<>(StatCondition.StatComparisonType.class)),
(var0, var1) -> var0.comparison = var1,
var0 -> var0.comparison,
(var0, var1) -> var0.comparison = var1.comparison
)
.documentation("The comparison type used for evaluating the stat condition.")
.add()
.build();
class="kw">protected StatCondition.StatComparisonType comparison = StatCondition.StatComparisonType.GTE;
class="kw">protected float amount;
class="kw">protected StatCondition() {
}
class="kw">public StatCondition(boolean var1, int var2, float var3) {
super(var1, var2);
this.amount = var3;
}
@Override
class="kw">public boolean eval0(@Nonnull Ref<EntityStore> var1, @Nonnull Instant var2, @Nonnull EntityStatValue var3) {
class="kw">return this.comparison.satisfies(var3.get(), this.amount);
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "StatCondition{amount=" + this.amount + ", comparison=" + this.comparison.name() + "} " + super.toString();
}
class="kw">public enum StatComparisonType {
GTE(">=", (var0, var1) -> var0 >= var1),
GT(">", (var0, var1) -> var0 > var1),
LTE("<=", (var0, var1) -> var0 <= var1),
LT("<", (var0, var1) -> var0 < var1),
EQUAL("=", (var0, var1) -> var0 == var1);
class="kw">private class="kw">final String prefix;
class="kw">private class="kw">final BiFloatPredicate satisfies;
StatComparisonType(String nullxx, BiFloatPredicate nullxxx) {
this.prefix = nullxx;
this.satisfies = nullxxx;
}
class="kw">public String getPrefix() {
class="kw">return this.prefix;
}
class="kw">public boolean satisfies(float var1, float var2) {
class="kw">return this.satisfies.test(var1, var2);
}
}
}