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