KillSpawnMarkerObjectiveTask class

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

Файл: com/hypixel/hytale/builtin/adventure/npcobjectives/task/KillSpawnMarkerObjectiveTask.java

extends: KillObjectiveTask

Поля (10)

МодификаторыТипИмя
SpawnMarkerEntity var12
String var13
TransformComponent var14
KillTaskTransaction var15
Vector3d var4
KillSpawnMarkerObjectiveTaskAsset var5
List var6
SpatialResource var7
String[] var8
HytaleLogger var9

Методы (5)

МодификаторыВозвратСигнатура
for for(Ref var11 : var6)
if if(var4 != null)
if if(var12 != null)
if if(var14 != null)
abstract super super(var1, var2, var3)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.adventure.npcobjectives.assets.KillSpawnMarkerObjectiveTaskAsset;
class="kw">import com.hypixel.hytale.builtin.adventure.npcobjectives.resources.KillTrackerResource;
class="kw">import com.hypixel.hytale.builtin.adventure.npcobjectives.transaction.KillTaskTransaction;
class="kw">import com.hypixel.hytale.builtin.adventure.objectives.Objective;
class="kw">import com.hypixel.hytale.builtin.adventure.objectives.ObjectivePlugin;
class="kw">import com.hypixel.hytale.builtin.adventure.objectives.transaction.TransactionRecord;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.common.util.ArrayUtil;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.component.spatial.SpatialResource;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.spawning.SpawningPlugin;
class="kw">import com.hypixel.hytale.server.spawning.spawnmarkers.SpawnMarkerEntity;
class="kw">import java.util.List;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class KillSpawnMarkerObjectiveTask class="kw">extends KillObjectiveTask {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<KillSpawnMarkerObjectiveTask> CODEC = BuilderCodec.builder(
         KillSpawnMarkerObjectiveTask.class, KillSpawnMarkerObjectiveTask::new, KillObjectiveTask.CODEC
      )
      .build();
   class="kw">private class="kw">static class="kw">final ComponentType<EntityStore, SpawnMarkerEntity> SPAWN_MARKER_COMPONENT_TYPE = SpawnMarkerEntity.getComponentType();
   @Nonnull
   class="kw">private class="kw">static class="kw">final ComponentType<EntityStore, TransformComponent> TRANSFORM_COMPONENT_TYPE = TransformComponent.getComponentType();

   class="kw">public KillSpawnMarkerObjectiveTask(@Nonnull KillSpawnMarkerObjectiveTaskAsset var1, int var2, int var3) {
      super(var1, var2, var3);
   }

   class="kw">protected KillSpawnMarkerObjectiveTask() {
   }

   @Nonnull
   class="kw">public KillSpawnMarkerObjectiveTaskAsset getAsset() {
      class="kw">return (KillSpawnMarkerObjectiveTaskAsset)super.getAsset();
   }

   @Nonnull
   @Override
   class="kw">protected TransactionRecord[] setup0(@Nonnull Objective var1, @Nonnull World var2, @Nonnull Store<EntityStore> var3) {
      Vector3d var4 = var1.getPosition(var3);
      if (var4 != null) {
         KillSpawnMarkerObjectiveTaskAsset var5 = this.getAsset();
         List var6 = SpatialResource.getThreadLocalReferenceList();
         SpatialResource var7 = var3.getResource(SpawningPlugin.get().getSpawnMarkerSpatialResource());
         var7.getSpatialStructure().collect(var4, var5.getRadius(), var6);
         String[] var8 = var5.getSpawnMarkerIds();
         HytaleLogger var9 = ObjectivePlugin.get().getLogger();

         for (Ref var11 : var6) {
            SpawnMarkerEntity var12 = var3.getComponent(var11, SPAWN_MARKER_COMPONENT_TYPE);
            if (var12 != null) {
               String var13 = var12.getSpawnMarkerId();
               if (ArrayUtil.contains(var8, var13)) {
                  var2.execute(() -> var12.trigger(var11, null, var3));
                  TransformComponent var14 = var3.getComponent(var11, TRANSFORM_COMPONENT_TYPE);
                  if (var14 != null) {
                     var9.at(Level.INFO).log("Triggered SpawnMarker '%s' at position: %s", var13, var14.getPosition());
                  }
               }
            }
         }
      }

      KillTaskTransaction var15 = new KillTaskTransaction(this, var1, var3);
      var3.getResource(KillTrackerResource.getResourceType()).watch(var15);
      class="kw">return new TransactionRecord[]{var15};
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "KillSpawnMarkerObjectiveTask{} " + super.toString();
   }
}