BuilderSensorState class
Пакет: com.hypixel.hytale.server.npc.corecomponents.statemachine.builders
Файл: com/hypixel/hytale/server/npc/corecomponents/statemachine/builders/BuilderSensorState.java
extends: BuilderSensorBase
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
protected |
String |
state |
Методы (7)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
return new |
SensorStatereturn new SensorState(this, var1) |
public |
int |
getStateint getState() |
public |
int |
getSubStateIndexint getSubStateIndex() |
|
|
if if(this.ignoreMissingSetState) |
public |
boolean |
isComponentLocalboolean isComponentLocal() |
public |
boolean |
isDefaultSubStateboolean isDefaultSubState() |
public |
void |
setIndexesvoid setIndexes(int var1, int var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.corecomponents.statemachine.builders;
class="kw">import com.google.gson.JsonElement;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.Builder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.BuilderDescriptorState;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.BuilderSupport;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.builders.BuilderSensorBase;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.statemachine.SensorState;
class="kw">import com.hypixel.hytale.server.npc.instructions.Sensor;
class="kw">import javax.annotation.Nonnull;
class="kw">public class BuilderSensorState class="kw">extends BuilderSensorBase {
class="kw">protected String state;
class="kw">protected String subState;
class="kw">protected int stateIndex;
class="kw">protected int subStateIndex;
class="kw">protected boolean defaultSubState;
class="kw">protected boolean ignoreMissingSetState;
class="kw">protected boolean componentLocal;
class="kw">public BuilderSensorState() {
}
@Nonnull
class="kw">public SensorState build(@Nonnull BuilderSupport var1) {
class="kw">return new SensorState(this, var1);
}
@Nonnull
@Override
class="kw">public String getShortDescription() {
class="kw">return "Test for a specific state";
}
@Nonnull
@Override
class="kw">public String getLongDescription() {
class="kw">return "Signal if NPC is set to specific state.";
}
@Nonnull
@Override
class="kw">public BuilderDescriptorState getBuilderDescriptorState() {
class="kw">return BuilderDescriptorState.Stable;
}
@Nonnull
@Override
class="kw">public Builder<Sensor> readConfig(@Nonnull JsonElement var1) {
this.requireStateString(var1, "State", true, (var1x, var2, var3) -> {
this.state = var1x;
this.subState = var2;
this.defaultSubState = var3;
}, BuilderDescriptorState.Stable, "State to compare to", null);
this.getBoolean(
var1,
"IgnoreMissingSetState",
var1x -> this.ignoreMissingSetState = var1x,
false,
BuilderDescriptorState.Stable,
"Override and ignore checks for matching setter action that sets this state",
"Override and ignore checks for matching setter action that sets this state. Intended for use in cases such as the FlockState action which sets the state via another NPC"
);
this.registerStateSensor(this.state, this.subState, this::setIndexes);
if (this.ignoreMissingSetState) {
this.registerStateSetter(this.state, this.subState, (var0, var1x) -> {});
}
this.componentLocal = this.isComponent();
class="kw">return this;
}
class="kw">public int getState() {
class="kw">return this.stateIndex;
}
class="kw">public void setIndexes(int var1, int var2) {
this.stateIndex = var1;
this.subStateIndex = var2;
}
class="kw">public boolean isDefaultSubState() {
class="kw">return this.defaultSubState;
}
class="kw">public int getSubStateIndex() {
class="kw">return this.subStateIndex;
}
class="kw">public boolean isComponentLocal() {
class="kw">return this.componentLocal;
}
}