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