TriggerVolumeNoHealSystem class
Пакет: com.hypixel.hytale.builtin.triggervolumes.system
Файл: com/hypixel/hytale/builtin/triggervolumes/system/TriggerVolumeNoHealSystem.java
extends: EntityTickingSystem<EntityStore>
Поля (6)
| Модификаторы | Тип | Имя |
|---|---|---|
|
int |
var10 |
|
EntityStatMap |
var6 |
|
TriggerVolumeManager |
var7 |
|
boolean |
var8 |
|
|
var8 |
|
TransformComponent |
var9 |
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(var6 != null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.triggervolumes.system;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.builtin.rules.NoHealRule;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.TriggerVolumeManager;
class="kw">import com.hypixel.hytale.component.ArchetypeChunk;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
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.tick.EntityTickingSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.EntityStatMap;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.StatChangeDirection;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.asset.DefaultEntityStatTypes;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">public class TriggerVolumeNoHealSystem class="kw">extends EntityTickingSystem<EntityStore> {
@Nonnull
class="kw">private class="kw">final ResourceType<EntityStore, TriggerVolumeManager> managerResourceType;
@Nonnull
class="kw">private class="kw">final Query<EntityStore> query;
class="kw">public TriggerVolumeNoHealSystem(@Nonnull ResourceType<EntityStore, TriggerVolumeManager> var1) {
this.managerResourceType = var1;
this.query = Query.and(EntityStatMap.getComponentType(), TransformComponent.getComponentType());
}
@Nonnull
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return this.query;
}
@Override
class="kw">public void tick(float var1, int var2, @Nonnull ArchetypeChunk<EntityStore> var3, @Nonnull Store<EntityStore> var4, @Nonnull CommandBuffer<EntityStore> var5) {
EntityStatMap var6 = var3.getComponent(var2, EntityStatMap.getComponentType());
if (var6 != null) {
TriggerVolumeManager var7 = var4.getResource(this.managerResourceType);
boolean var8 = false;
if (var7 != null && !var7.getVolumes().isEmpty()) {
TransformComponent var9 = var3.getComponent(var2, TransformComponent.getComponentType());
var8 = var9 != null && var7.hasActiveRule(var9.getPosition(), NoHealRule.class);
}
int var10 = DefaultEntityStatTypes.getHealth();
if (var6.isStatChangeSuppressed(var10, StatChangeDirection.RAISE) != var8) {
var6.setStatChangeSuppressed(var10, StatChangeDirection.RAISE, var8);
}
}
}
}