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