EntityStatBoundCondition class
Пакет: com.hypixel.hytale.server.core.modules.entity.condition
Файл: com/hypixel/hytale/server/core/modules/entity/condition/EntityStatBoundCondition.java
extends: Condition
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
|
EntityStatMap |
var4 |
|
EntityStatValue |
var5 |
Методы (4)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract abstract |
boolean |
eval0boolean eval0(@Nonnull Ref<EntityStore> var1, @Nonnull Instant var2, @Nonnull EntityStatValue var3) |
|
|
if if(this.stat == Integer.MIN_VALUE) |
|
|
if if(var4 == null) |
abstract |
|
super super(var1) |
Исходный код
Показать/скрыть
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.validation.Validators;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.EntityStatMap;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.EntityStatValue;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.EntityStatsModule;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.asset.EntityStatType;
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="kw">abstract class EntityStatBoundCondition class="kw">extends Condition {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<EntityStatBoundCondition> CODEC = BuilderCodec.abstractBuilder(EntityStatBoundCondition.class, Condition.BASE_CODEC)
.append(new KeyedCodec<>("Stat", Codec.STRING), (var0, var1) -> var0.unknownStat = var1, var0 -> var0.unknownStat)
.documentation("The stat to evaluate the condition against.")
.addValidator(Validators.nonNull())
.addValidatorLate(() -> EntityStatType.VALIDATOR_CACHE.getValidator().late())
.add()
.build();
class="kw">protected String unknownStat;
class="kw">protected int stat = Integer.MIN_VALUE;
class="kw">protected EntityStatBoundCondition() {
}
class="kw">public EntityStatBoundCondition(boolean var1, int var2) {
super(var1);
this.stat = var2;
}
@Override
class="kw">public boolean eval0(@Nonnull ComponentAccessor<EntityStore> var1, @Nonnull Ref<EntityStore> var2, @Nonnull Instant var3) {
if (this.stat == Integer.MIN_VALUE) {
this.stat = EntityStatType.getAssetMap().getIndex(this.unknownStat);
}
EntityStatMap var4 = var1.getComponent(var2, EntityStatsModule.get().getEntityStatMapComponentType());
if (var4 == null) {
class="kw">return false;
}
EntityStatValue var5 = var4.get(this.stat);
class="kw">return var5 == null ? false : this.eval0(var2, var3, var5);
}
class="kw">public class="kw">abstract boolean eval0(@Nonnull Ref<EntityStore> var1, @Nonnull Instant var2, @Nonnull EntityStatValue var3);
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "EntityStatBoundCondition{unknownStat='" + this.unknownStat + "', stat=" + this.stat + "} " + super.toString();
}
}