SensorChargeState class

Пакет: com.hypixel.hytale.server.npc.corecomponents.combat

Файл: com/hypixel/hytale/server/npc/corecomponents/combat/SensorChargeState.java

extends: SensorBase

Поля (1)

МодификаторыТипИмя
final EnumSet<BodyMotionCharge.ChargeState> states

Методы (2)

МодификаторыВозвратСигнатура
if if(this.parent instanceof Instruction var2)
abstract super super(var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.corecomponents.combat;

class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.BuilderSupport;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.SensorBase;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.combat.builders.BuilderSensorChargeState;
class="kw">import com.hypixel.hytale.server.npc.instructions.ExecutionSupport;
class="kw">import com.hypixel.hytale.server.npc.instructions.Instruction;
class="kw">import com.hypixel.hytale.server.npc.sensorinfo.InfoProvider;
class="kw">import java.util.EnumSet;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class SensorChargeState class="kw">extends SensorBase {
   class="kw">private class="kw">final EnumSet<BodyMotionCharge.ChargeState> states;
   @Nullable
   class="kw">private BodyMotionCharge matchingChargeBodyMotion;

   class="kw">public SensorChargeState(@Nonnull BuilderSensorChargeState var1, @Nonnull BuilderSupport var2) {
      super(var1);
      this.states = var1.getStates(var2);
   }

   @Override
   class="kw">public void loaded(ExecutionSupport var1) {
      if (this.parent class="kw">instanceof Instruction var2) {
         this.matchingChargeBodyMotion = var2.findNearestPrecedingBodyMotion(BodyMotionCharge.class);
      }
   }

   @Override
   class="kw">public boolean matches(@Nonnull Ref<EntityStore> var1, @Nonnull ExecutionSupport var2, double var3, @Nonnull Store<EntityStore> var5) {
      class="kw">return !super.matches(var1, var2, var3, var5)
         ? false
         : this.matchingChargeBodyMotion != null && this.states.contains(this.matchingChargeBodyMotion.getState());
   }

   @Override
   class="kw">public InfoProvider getSensorInfo() {
      class="kw">return null;
   }
}