TriggerVolumeEntityRemoveSystem class
Пакет: com.hypixel.hytale.builtin.triggervolumes.system
Файл: com/hypixel/hytale/builtin/triggervolumes/system/TriggerVolumeEntityRemoveSystem.java
extends: RefSystem<EntityStore>
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
|
Set |
var10 |
|
TriggerVolumeManager |
var5 |
|
UUIDComponent |
var6 |
|
UUID |
var7 |
|
long |
var8 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(var5 != null) |
|
|
if if(var6 != null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.triggervolumes.system;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.TriggerVolumeManager;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.VolumeEntry;
class="kw">import com.hypixel.hytale.component.AddReason;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.RemoveReason;
class="kw">import com.hypixel.hytale.component.ResourceType;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.component.query.Query;
class="kw">import com.hypixel.hytale.component.system.RefSystem;
class="kw">import com.hypixel.hytale.server.core.entity.UUIDComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.ArrayList;
class="kw">import java.util.Set;
class="kw">import java.util.UUID;
class="kw">import javax.annotation.Nonnull;
class="kw">public class="kw">final class TriggerVolumeEntityRemoveSystem class="kw">extends RefSystem<EntityStore> {
@Nonnull
class="kw">private class="kw">static class="kw">final Query<EntityStore> QUERY = Query.and(UUIDComponent.getComponentType(), TransformComponent.getComponentType());
@Nonnull
class="kw">private class="kw">final TriggerVolumeTickingSystem tickingSystem;
@Nonnull
class="kw">private class="kw">final ResourceType<EntityStore, TriggerVolumeManager> managerResourceType;
class="kw">public TriggerVolumeEntityRemoveSystem(@Nonnull TriggerVolumeTickingSystem var1, @Nonnull ResourceType<EntityStore, TriggerVolumeManager> var2) {
this.tickingSystem = var1;
this.managerResourceType = var2;
}
@Nonnull
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return QUERY;
}
@Override
class="kw">public void onEntityAdded(
@Nonnull Ref<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
}
@Override
class="kw">public void onEntityRemove(
@Nonnull Ref<EntityStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
TriggerVolumeManager var5 = var3.getResource(this.managerResourceType);
if (var5 != null) {
UUIDComponent var6 = var3.getComponent(var1, UUIDComponent.getComponentType());
if (var6 != null) {
UUID var7 = var6.getUuid();
long var8 = System.nanoTime();
Set var10 = var5.getActiveVolumes();
if (!var10.isEmpty()) {
for (VolumeEntry var12 : new ArrayList<>(var10)) {
if (var12.getTrackedEntities().remove(var7) != null) {
this.tickingSystem.fireVolumeExit(var12, var1, var7, var5, var3, var8, true);
var5.updateTrackingState(var12);
}
}
}
}
}
}
}