SensorHasTask class

Пакет: com.hypixel.hytale.builtin.adventure.npcobjectives.npc

Файл: com/hypixel/hytale/builtin/adventure/npcobjectives/npc/SensorHasTask.java

extends: SensorBase

Поля (9)

МодификаторыТипИмя
UUIDComponent var10
UUID var11
PlayerTaskSupport var12
boolean var13
var13
Ref var6
Archetype var7
UUIDComponent var8
UUID var9

Методы (5)

МодификаторыВозвратСигнатура
for for(String var17 : this.tasksById)
if if(this.tasksById != null && this.tasksById.length != 0)
if if(var8 == null)
if if(var10 == null)
abstract super super(var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.npcobjectives.npc;

class="kw">import com.hypixel.hytale.builtin.adventure.npcobjectives.NPCObjectivesPlugin;
class="kw">import com.hypixel.hytale.builtin.adventure.npcobjectives.npc.builders.BuilderSensorHasTask;
class="kw">import com.hypixel.hytale.component.Archetype;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.server.core.entity.UUIDComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.damage.DeathComponent;
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.instructions.ExecutionSupport;
class="kw">import com.hypixel.hytale.server.npc.role.support.PlayerTaskSupport;
class="kw">import com.hypixel.hytale.server.npc.sensorinfo.InfoProvider;
class="kw">import java.util.UUID;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class SensorHasTask class="kw">extends SensorBase {
   @Nullable
   class="kw">protected class="kw">final String[] tasksById;

   class="kw">public SensorHasTask(@Nonnull BuilderSensorHasTask var1, @Nonnull BuilderSupport var2) {
      super(var1);
      this.tasksById = var1.getTasksById(var2);
   }

   @Override
   class="kw">public boolean matches(@Nonnull Ref<EntityStore> var1, @Nonnull ExecutionSupport var2, double var3, @Nonnull Store<EntityStore> var5) {
      if (!super.matches(var1, var2, var3, var5)) {
         class="kw">return false;
      }

      if (this.tasksById != null && this.tasksById.length != 0) {
         Ref var6 = var2.getStateSupport().getInteractionIterationTarget();
         if (var6 != null && var6.isValid()) {
            Archetype var7 = var5.getArchetype(var6);
            if (var7.contains(DeathComponent.getComponentType())) {
               class="kw">return false;
            }

            UUIDComponent var8 = var5.getComponent(var6, UUIDComponent.getComponentType());
            if (var8 == null) {
               class="kw">return false;
            }

            UUID var9 = var8.getUuid();
            UUIDComponent var10 = var5.getComponent(var1, UUIDComponent.getComponentType());
            if (var10 == null) {
               class="kw">return false;
            }

            UUID var11 = var10.getUuid();
            PlayerTaskSupport var12 = var2.getPlayerTaskSupport();
            boolean var13 = false;

            for (String var17 : this.tasksById) {
               if (NPCObjectivesPlugin.hasTask(var9, var11, var17)) {
                  var13 = true;
                  var12.addTargetPlayerActiveTask(var17);
               }
            }

            class="kw">return var13;
         } else {
            class="kw">return false;
         }
      } else {
         class="kw">return false;
      }
   }

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